From 30a69893bbd612941ae5d9f791806c7c9ac7fa61 Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 31 Oct 2024 15:28:38 +0100 Subject: [PATCH] New backend logs integrations (#2717) * feat(integrations): new version of backend integrations * feat(integrations): added ingress rule * feat(integrations): fixed a port number * feat(integrations): enabled ingress in values.yaml * feat(integrations): added startup log * feat(integrations): added extra logger for 3 of 4 backend logs integrations. * feat(integrations): removed a logs loop call * feat(integrations): fixed a table name * feat(integrations): disabled extra logger * feat(integrations): made extra logger as an option * feat(integrations): changed contentType for logs file * feat(integrations): bug fix * feat(integrations): struct/string config support for datadog provider * feat(integrations): map config support for datadog provider * feat(integrations): removed unnecessary transformation * feat(integrations): fixed datadog and sentry response format * feat(integrations): added correct creds parser for sentry provider * feat(integrations): removed unnecessary return statement * feat(integrations): added correct creds parser for elastic search * feat(integrations): changed elastic to elasticsearch * feat(integrations): added correct creds parser for dynatrace * feat(integrations): fixed an issue in query request for elasticsearch provider * feat(integrations): made extra logger configurable by env var * feat(integrations): removed debug logs --- backend/cmd/integrations/main.go | 61 +- backend/go.mod | 10 +- backend/go.sum | 32 +- .../internal/config/integrations/config.go | 20 +- backend/pkg/integrations/builder.go | 36 + backend/pkg/integrations/clients/bugsnag.go | 121 - backend/pkg/integrations/clients/bugsnag.json | 9207 ----------------- backend/pkg/integrations/clients/client.go | 109 +- .../pkg/integrations/clients/cloudwatch.go | 85 - backend/pkg/integrations/clients/datadog.go | 167 +- backend/pkg/integrations/clients/datadog.json | 5872 ----------- backend/pkg/integrations/clients/dynatrace.go | 153 + backend/pkg/integrations/clients/elastic.go | 103 + .../pkg/integrations/clients/elasticsearch.go | 219 - .../integrations/clients/elasticsearch.json | 469 - backend/pkg/integrations/clients/newrelic.go | 99 - .../pkg/integrations/clients/newrelic.json | 153 - .../integrations/clients/newrelic_empty.json | 42 - backend/pkg/integrations/clients/rollbar.go | 175 - .../integrations/clients/rollbar_error.json | 4 - .../clients/rollbar_job_result.json | 63 - .../clients/rollbar_job_start.json | 13 - backend/pkg/integrations/clients/sentry.go | 215 +- backend/pkg/integrations/clients/sentry.json | 4438 -------- .../pkg/integrations/clients/stackdriver.go | 100 - backend/pkg/integrations/clients/sumologic.go | 215 - .../integrations/clients/sumologic_error.json | 6 - .../clients/sumologic_job_result.json | 146 - .../clients/sumologic_job_start.json | 7 - .../clients/sumologic_job_status.json | 16 - backend/pkg/integrations/clients/utils.go | 26 - backend/pkg/integrations/handlers.go | 224 + backend/pkg/integrations/integrations.go | 97 - backend/pkg/integrations/manager.go | 51 - backend/pkg/integrations/model/integration.go | 38 - backend/pkg/integrations/model/request.go | 58 - backend/pkg/integrations/router.go | 170 + backend/pkg/integrations/service.go | 214 + backend/pkg/integrations/storage.go | 95 - backend/pkg/logger/extra.go | 154 + backend/pkg/logger/logger.go | 43 +- backend/pkg/metrics/heuristics/metrics.go | 46 +- .../integrations/templates/ingress.yaml | 50 +- .../charts/integrations/values.yaml | 30 +- 44 files changed, 1381 insertions(+), 22271 deletions(-) create mode 100644 backend/pkg/integrations/builder.go delete mode 100644 backend/pkg/integrations/clients/bugsnag.go delete mode 100644 backend/pkg/integrations/clients/bugsnag.json delete mode 100644 backend/pkg/integrations/clients/cloudwatch.go delete mode 100644 backend/pkg/integrations/clients/datadog.json create mode 100644 backend/pkg/integrations/clients/dynatrace.go create mode 100644 backend/pkg/integrations/clients/elastic.go delete mode 100644 backend/pkg/integrations/clients/elasticsearch.go delete mode 100644 backend/pkg/integrations/clients/elasticsearch.json delete mode 100644 backend/pkg/integrations/clients/newrelic.go delete mode 100644 backend/pkg/integrations/clients/newrelic.json delete mode 100644 backend/pkg/integrations/clients/newrelic_empty.json delete mode 100644 backend/pkg/integrations/clients/rollbar.go delete mode 100644 backend/pkg/integrations/clients/rollbar_error.json delete mode 100644 backend/pkg/integrations/clients/rollbar_job_result.json delete mode 100644 backend/pkg/integrations/clients/rollbar_job_start.json delete mode 100644 backend/pkg/integrations/clients/sentry.json delete mode 100644 backend/pkg/integrations/clients/stackdriver.go delete mode 100644 backend/pkg/integrations/clients/sumologic.go delete mode 100644 backend/pkg/integrations/clients/sumologic_error.json delete mode 100644 backend/pkg/integrations/clients/sumologic_job_result.json delete mode 100644 backend/pkg/integrations/clients/sumologic_job_start.json delete mode 100644 backend/pkg/integrations/clients/sumologic_job_status.json delete mode 100644 backend/pkg/integrations/clients/utils.go create mode 100644 backend/pkg/integrations/handlers.go delete mode 100644 backend/pkg/integrations/integrations.go delete mode 100644 backend/pkg/integrations/manager.go delete mode 100644 backend/pkg/integrations/model/integration.go delete mode 100644 backend/pkg/integrations/model/request.go create mode 100644 backend/pkg/integrations/router.go create mode 100644 backend/pkg/integrations/service.go delete mode 100644 backend/pkg/integrations/storage.go create mode 100644 backend/pkg/logger/extra.go diff --git a/backend/cmd/integrations/main.go b/backend/cmd/integrations/main.go index 9915c45d1..2e371bba4 100644 --- a/backend/cmd/integrations/main.go +++ b/backend/cmd/integrations/main.go @@ -6,55 +6,52 @@ import ( "os/signal" "syscall" - "github.com/jackc/pgx/v4" - config "openreplay/backend/internal/config/integrations" - "openreplay/backend/pkg/integrations" + "openreplay/backend/internal/http/server" + "openreplay/backend/pkg/db/postgres/pool" + integration "openreplay/backend/pkg/integrations" "openreplay/backend/pkg/logger" "openreplay/backend/pkg/metrics" - databaseMetrics "openreplay/backend/pkg/metrics/database" - "openreplay/backend/pkg/queue" - "openreplay/backend/pkg/token" + "openreplay/backend/pkg/metrics/database" ) func main() { ctx := context.Background() log := logger.New() cfg := config.New(log) - metrics.New(log, databaseMetrics.List()) + metrics.New(log, append(database.List())) - pgConn, err := pgx.Connect(context.Background(), cfg.Postgres.String()) + pgConn, err := pool.New(cfg.Postgres.String()) if err != nil { log.Fatal(ctx, "can't init postgres connection: %s", err) } - defer pgConn.Close(context.Background()) + defer pgConn.Close() - producer := queue.NewProducer(cfg.MessageSizeLimit, true) - defer producer.Close(15000) - - storage := integrations.NewStorage(pgConn, log) - if err := storage.Listen(); err != nil { - log.Fatal(ctx, "can't init storage listener: %s", err) - } - - listener, err := integrations.New(log, cfg, storage, producer, integrations.NewManager(log), token.NewTokenizer(cfg.TokenSecret)) + services, err := integration.NewServiceBuilder(log, cfg, pgConn) if err != nil { - log.Fatal(ctx, "can't init service: %s", err) + log.Fatal(ctx, "can't init services: %s", err) } - defer listener.Close() + router, err := integration.NewRouter(cfg, log, services) + if err != nil { + log.Fatal(ctx, "failed while creating router: %s", err) + } + + dataIntegrationServer, err := server.New(router.GetHandler(), cfg.HTTPHost, cfg.HTTPPort, cfg.HTTPTimeout) + if err != nil { + log.Fatal(ctx, "failed while creating server: %s", err) + } + go func() { + if err := dataIntegrationServer.Start(); err != nil { + log.Fatal(ctx, "http server error: %s", err) + } + }() + log.Info(ctx, "server successfully started on port %s", cfg.HTTPPort) + + // Wait stop signal to shut down server gracefully sigchan := make(chan os.Signal, 1) signal.Notify(sigchan, syscall.SIGINT, syscall.SIGTERM) - - log.Info(ctx, "integration service started") - for { - select { - case sig := <-sigchan: - log.Info(ctx, "caught signal %v: terminating", sig) - os.Exit(0) - case err := <-listener.Errors: - log.Error(ctx, "listener error: %s", err) - os.Exit(0) - } - } + <-sigchan + log.Info(ctx, "shutting down the server") + dataIntegrationServer.Stop() } diff --git a/backend/go.mod b/backend/go.mod index a246149b0..c3123f334 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -7,8 +7,9 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 github.com/ClickHouse/clickhouse-go/v2 v2.2.0 + github.com/DataDog/datadog-api-client-go/v2 v2.30.0 github.com/Masterminds/semver v1.5.0 - github.com/andybalholm/brotli v1.0.5 + github.com/andybalholm/brotli v1.1.0 github.com/aws/aws-sdk-go v1.44.98 github.com/btcsuite/btcutil v1.0.2 github.com/confluentinc/confluent-kafka-go/v2 v2.4.0 @@ -16,6 +17,7 @@ require ( github.com/docker/distribution v2.8.3+incompatible github.com/elastic/go-elasticsearch/v7 v7.13.1 github.com/elastic/go-elasticsearch/v8 v8.13.0 + github.com/getsentry/sentry-go v0.29.0 github.com/go-redis/redis v6.15.9+incompatible github.com/golang-jwt/jwt/v5 v5.2.1 github.com/google/uuid v1.6.0 @@ -24,7 +26,7 @@ require ( github.com/jackc/pgerrcode v0.0.0-20201024163028-a0d42d470451 github.com/jackc/pgtype v1.14.0 github.com/jackc/pgx/v4 v4.18.2 - github.com/klauspost/compress v1.17.4 + github.com/klauspost/compress v1.17.7 github.com/klauspost/pgzip v1.2.5 github.com/lib/pq v1.10.2 github.com/oschwald/maxminddb-golang v1.7.0 @@ -35,7 +37,7 @@ require ( github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce github.com/ua-parser/uap-go v0.0.0-20200325213135-e1c09f13e2fe go.uber.org/zap v1.17.0 - golang.org/x/net v0.22.0 + golang.org/x/net v0.23.0 google.golang.org/api v0.169.0 ) @@ -47,6 +49,7 @@ require ( cloud.google.com/go/longrunning v0.5.6 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.2 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 // indirect + github.com/DataDog/zstd v1.5.2 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/distribution/reference v0.6.0 // indirect @@ -54,6 +57,7 @@ require ( github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/goccy/go-json v0.10.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/s2a-go v0.1.7 // indirect diff --git a/backend/go.sum b/backend/go.sum index a8ef1c925..c088a9a3a 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -35,6 +35,10 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/ClickHouse/clickhouse-go v1.5.4/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI= github.com/ClickHouse/clickhouse-go/v2 v2.2.0 h1:dj00TDKY+xwuTJdbpspCSmTLFyWzRJerTHwaBxut1C0= github.com/ClickHouse/clickhouse-go/v2 v2.2.0/go.mod h1:8f2XZUi7XoeU+uPIytSi1cvx8fmJxi7vIgqpvYTF1+o= +github.com/DataDog/datadog-api-client-go/v2 v2.30.0 h1:WHAo6RA8CqAzaUh3dERqz/n6SuG2GJ/WthBkccn0MIQ= +github.com/DataDog/datadog-api-client-go/v2 v2.30.0/go.mod h1:QKOu6vscsh87fMY1lHfLEmNSunyXImj8BUaUWJXOehc= +github.com/DataDog/zstd v1.5.2 h1:vUG4lAyuPCXO0TLbXvPv7EB7cNK1QV/luu55UHLrrn8= +github.com/DataDog/zstd v1.5.2/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= @@ -46,8 +50,8 @@ github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7 github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= -github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs= -github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= +github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/aws/aws-sdk-go v1.44.98 h1:fX+NxebSdO/9T6DTNOLhpC+Vv6RNkKRfsMg0a7o/yBo= github.com/aws/aws-sdk-go v1.44.98/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v1.17.6 h1:Y773UK7OBqhzi5VDXMi1zVGsoj+CVHs2eaC2bDsLwi0= @@ -167,6 +171,10 @@ github.com/fsnotify/fsevents v0.1.1/go.mod h1:+d+hS27T6k5J8CRaPLKFgwKYcpS7GwW3Ul github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fvbommel/sortorder v1.0.2 h1:mV4o8B2hKboCdkJm+a7uX/SIpZob4JzUpc5GGnM45eo= github.com/fvbommel/sortorder v1.0.2/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= +github.com/getsentry/sentry-go v0.29.0 h1:YtWluuCFg9OfcqnaujpY918N/AhCCwarIDWOYSBAjCA= +github.com/getsentry/sentry-go v0.29.0/go.mod h1:jhPesDAL0Q0W2+2YEuVOvdWmVtdsr1+jtBrlDEVWwLY= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -188,6 +196,8 @@ github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGK github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= @@ -339,8 +349,8 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/klauspost/compress v1.17.4 h1:Ej5ixsIri7BrIjBkRZLTo6ghwrEtHFk7ijlczPW4fZ4= -github.com/klauspost/compress v1.17.4/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -363,8 +373,8 @@ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= @@ -372,8 +382,8 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= @@ -439,6 +449,8 @@ github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0= github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -646,8 +658,8 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= -golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= diff --git a/backend/internal/config/integrations/config.go b/backend/internal/config/integrations/config.go index 4b93e463c..a1507bbb4 100644 --- a/backend/internal/config/integrations/config.go +++ b/backend/internal/config/integrations/config.go @@ -1,21 +1,33 @@ package integrations import ( + "time" + "openreplay/backend/internal/config/common" "openreplay/backend/internal/config/configurator" + "openreplay/backend/internal/config/objectstorage" + "openreplay/backend/internal/config/redis" + "openreplay/backend/pkg/env" "openreplay/backend/pkg/logger" ) type Config struct { common.Config common.Postgres - TopicAnalytics string `env:"TOPIC_ANALYTICS,required"` - TokenSecret string `env:"TOKEN_SECRET,required"` - UseProfiler bool `env:"PROFILER_ENABLED,default=false"` + redis.Redis + objectstorage.ObjectsConfig + HTTPHost string `env:"HTTP_HOST,default="` + HTTPPort string `env:"HTTP_PORT,required"` + HTTPTimeout time.Duration `env:"HTTP_TIMEOUT,default=60s"` + JsonSizeLimit int64 `env:"JSON_SIZE_LIMIT,default=131072"` // 128KB + UseAccessControlHeaders bool `env:"USE_CORS,default=false"` + ProjectExpiration time.Duration `env:"PROJECT_EXPIRATION,default=10m"` + JWTSecret string `env:"JWT_SECRET,required"` + WorkerID uint16 } func New(log logger.Logger) *Config { - cfg := &Config{} + cfg := &Config{WorkerID: env.WorkerID()} configurator.Process(log, cfg) return cfg } diff --git a/backend/pkg/integrations/builder.go b/backend/pkg/integrations/builder.go new file mode 100644 index 000000000..b151cc0e4 --- /dev/null +++ b/backend/pkg/integrations/builder.go @@ -0,0 +1,36 @@ +package data_integration + +import ( + "openreplay/backend/internal/config/integrations" + "openreplay/backend/pkg/db/postgres/pool" + "openreplay/backend/pkg/flakeid" + "openreplay/backend/pkg/logger" + "openreplay/backend/pkg/objectstorage" + "openreplay/backend/pkg/objectstorage/store" + "openreplay/backend/pkg/spot/auth" +) + +type ServiceBuilder struct { + Flaker *flakeid.Flaker + ObjStorage objectstorage.ObjectStorage + Auth auth.Auth + Integrator Service +} + +func NewServiceBuilder(log logger.Logger, cfg *integrations.Config, pgconn pool.Pool) (*ServiceBuilder, error) { + objStore, err := store.NewStore(&cfg.ObjectsConfig) + if err != nil { + return nil, err + } + integrator, err := NewService(log, pgconn, objStore) + if err != nil { + return nil, err + } + flaker := flakeid.NewFlaker(cfg.WorkerID) + return &ServiceBuilder{ + Flaker: flaker, + ObjStorage: objStore, + Auth: auth.NewAuth(log, cfg.JWTSecret, "", pgconn), + Integrator: integrator, + }, nil +} diff --git a/backend/pkg/integrations/clients/bugsnag.go b/backend/pkg/integrations/clients/bugsnag.go deleted file mode 100644 index 57b6d8008..000000000 --- a/backend/pkg/integrations/clients/bugsnag.go +++ /dev/null @@ -1,121 +0,0 @@ -package clients - -import ( - "encoding/json" - "fmt" - "io" - "net/http" - "net/url" - "time" - - "openreplay/backend/pkg/messages" -) - -/* - - Bugsnag messages usually recived later then others -*/ - -type bugsnag struct { - BugsnagProjectId string // `json:"bugsnag_project_id"` - AuthorizationToken string // `json:"auth_token"` -} - -type bugsnagEvent struct { - MetaData struct { - SpecialInfo struct { - AsayerSessionId uint64 `json:"asayerSessionId,string"` - OpenReplaySessionToken string `json:"openReplaySessionToken"` - } `json:"special_info"` - } `json:"metaData"` - ReceivedAt string `json:"received_at"` // can use time.Time as it implements UnmarshalJSON from RFC3339 format - Exceptions [1]struct { - Message string - } -} - -// need result chan and lastMessageTs -func (b *bugsnag) Request(c *client) error { - sinceTs := c.requestData.GetLastMessageTimestamp() + 1000 // From next second - sinceFormatted := time.UnixMilli(int64(sinceTs)).Format(time.RFC3339) - requestURL := fmt.Sprintf("https://api.bugsnag.com/projects/%v/events", b.BugsnagProjectId) - req, err := http.NewRequest("GET", requestURL, nil) - if err != nil { - return err - } - q := req.URL.Query() - // q.Add("per_page", "100") // Up to a maximum of 30. Default: 30 - // q.Add("sort", "timestamp") // Default: timestamp (timestamp == ReceivedAt ??) - q.Add("direction", "asc") // Default: desc - q.Add("full_reports", "true") // Default: false - q.Add("filters[event.since][][type]", "eq") - q.Add("filters[event.since][][value]", sinceFormatted) // seems like inclusively - req.URL.RawQuery = q.Encode() - - authToken := "token " + b.AuthorizationToken - req.Header.Add("Authorization", authToken) - req.Header.Add("X-Version", "2") - - for { - resp, err := http.DefaultClient.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - - // Status code - // 401 (unauthorised) - if resp.StatusCode >= 400 { - io.Copy(io.Discard, resp.Body) // Read the body to free socket - return fmt.Errorf("Bugsnag: server respond with the code %v | data: %v ", resp.StatusCode, *b) - } - - var jsonEventList []json.RawMessage - err = json.NewDecoder(resp.Body).Decode(&jsonEventList) - if err != nil { - return err - } - for _, jsonEvent := range jsonEventList { - var e bugsnagEvent - err = json.Unmarshal(jsonEvent, &e) - if err != nil { - c.errChan <- err - continue - } - sessionID := e.MetaData.SpecialInfo.AsayerSessionId - token := e.MetaData.SpecialInfo.OpenReplaySessionToken - if sessionID == 0 && token == "" { - // c.errChan <- "No AsayerSessionId found. | Message: %v", e - continue - } - parsedTime, err := time.Parse(time.RFC3339, e.ReceivedAt) - if err != nil { - c.errChan <- err - continue - } - timestamp := uint64(parsedTime.UnixMilli()) - c.requestData.SetLastMessageTimestamp(timestamp) - c.evChan <- &SessionErrorEvent{ - SessionID: sessionID, - Token: token, - IntegrationEvent: &messages.IntegrationEvent{ - Source: "bugsnag", - Timestamp: timestamp, - Name: e.Exceptions[0].Message, - Payload: string(jsonEvent), - }, - } - } - - linkHeader := resp.Header.Get("Link") - if linkHeader == "" { - break - } - - nextLink := GetLinkFromAngularBrackets(linkHeader) - req.URL, err = url.Parse(nextLink) - if err != nil { - return err - } - } - return nil -} diff --git a/backend/pkg/integrations/clients/bugsnag.json b/backend/pkg/integrations/clients/bugsnag.json deleted file mode 100644 index 683009808..000000000 --- a/backend/pkg/integrations/clients/bugsnag.json +++ /dev/null @@ -1,9207 +0,0 @@ -[ - { - "id": "5e40ebc80056035588f90000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebc80056035588f90000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:08.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 608, - "method": "get_performance", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "605": " \"aggs\": {", - "606": " \"duration_avg\": {", - "607": " \"avg\": {", - "608": " \"field\": \"duration\"", - "609": " }", - "610": " }", - "611": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1398, - "method": "get_dashboard_performance", - "file": "/var/task/app.py", - "code": { - "1395": " args = dashboard.dashboard_args(params)", - "1396": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1397": " return {\"errors\": [\"unauthorized site\"]}", - "1398": " return {\"data\": dashboard.get_performance(site_id=siteId, **args)}", - "1399": "", - "1400": "", - "1401": "@app.route('/{siteId}/dashboard/performance/search', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.238.85", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ebce0055f9426eac0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebce0055f9426eac0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:14.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1233, - "method": "get_missing_resources_trend", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "1230": " \"url_hostpath\": {", - "1231": " \"terms\": {", - "1232": " \"size\": 10,", - "1233": " \"field\": \"url_hostpath.raw\"", - "1234": " }", - "1235": " }", - "1236": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1481, - "method": "get_performance_sessions", - "file": "/var/task/app.py", - "code": { - "1478": " args = dashboard.dashboard_args(params)", - "1479": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1480": " return {\"errors\": [\"unauthorized site\"]}", - "1481": " return {\"data\": dashboard.get_missing_resources_trend(site_id=siteId, **args)}", - "1482": "", - "1483": "", - "1484": "@app.route('/{siteId}/dashboard/network', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.14.137", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ebce005604d753340000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebce005604d753340000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:14.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 345, - "method": "__get_application_activity", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "342": " \"aggs\": {", - "343": " \"avg_img_load\": {", - "344": " \"avg\": {", - "345": " \"field\": \"duration\"", - "346": " }", - "347": " }", - "348": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 285, - "method": "get_application_activity", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "282": "def get_application_activity(site_id, startTimestamp=int(time.time()) - 24 * 60 * 60 * 1000,", - "283": " endTimestamp=int(time.time()) * 1000, platform=None, **args):", - "284": " with pg_client.PostgresClient() as cur:", - "285": " row = __get_application_activity(cur, site_id, startTimestamp, endTimestamp, platform)", - "286": " results = helper.variable_to_camel_case(row)", - "287": " print(\"new\")", - "288": " print(row)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1371, - "method": "get_dashboard_application_activity", - "file": "/var/task/app.py", - "code": { - "1368": " args = dashboard.dashboard_args(params)", - "1369": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1370": " return {\"errors\": [\"unauthorized site\"]}", - "1371": " return {\"data\": dashboard.get_application_activity(site_id=siteId, **args)}", - "1372": "", - "1373": "", - "1374": "@app.route('/{siteId}/dashboard/page_metrics', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.198.37", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ebe40055e91b7de10000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebe40055e91b7de10000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:36.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 483, - "method": "get_slowest_images", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "480": " \"sort\": [", - "481": " {\"impact\": {\"order\": \"desc\"}}", - "482": " ],", - "483": " \"size\": 10", - "484": " }", - "485": " }", - "486": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1429, - "method": "get_dashboard_slowest_images", - "file": "/var/task/app.py", - "code": { - "1426": " args = dashboard.dashboard_args(params)", - "1427": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1428": " return {\"errors\": [\"unauthorized site\"]}", - "1429": " return {\"data\": dashboard.get_slowest_images(site_id=siteId, **args)}", - "1430": "", - "1431": "", - "1432": "@app.route('/{siteId}/dashboard/sessions_feedback', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.179.21", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ebee0055ffd373510000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebee0055ffd373510000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:46.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 345, - "method": "__get_application_activity", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "342": " \"aggs\": {", - "343": " \"avg_img_load\": {", - "344": " \"avg\": {", - "345": " \"field\": \"duration\"", - "346": " }", - "347": " }", - "348": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 285, - "method": "get_application_activity", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "282": "def get_application_activity(site_id, startTimestamp=int(time.time()) - 24 * 60 * 60 * 1000,", - "283": " endTimestamp=int(time.time()) * 1000, platform=None, **args):", - "284": " with pg_client.PostgresClient() as cur:", - "285": " row = __get_application_activity(cur, site_id, startTimestamp, endTimestamp, platform)", - "286": " results = helper.variable_to_camel_case(row)", - "287": " print(\"new\")", - "288": " print(row)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1371, - "method": "get_dashboard_application_activity", - "file": "/var/task/app.py", - "code": { - "1368": " args = dashboard.dashboard_args(params)", - "1369": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1370": " return {\"errors\": [\"unauthorized site\"]}", - "1371": " return {\"data\": dashboard.get_application_activity(site_id=siteId, **args)}", - "1372": "", - "1373": "", - "1374": "@app.route('/{siteId}/dashboard/page_metrics', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.238.85", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ebee0055e63104bf0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebee0055e63104bf0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:46.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 608, - "method": "get_performance", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "605": " \"aggs\": {", - "606": " \"duration_avg\": {", - "607": " \"avg\": {", - "608": " \"field\": \"duration\"", - "609": " }", - "610": " }", - "611": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1398, - "method": "get_dashboard_performance", - "file": "/var/task/app.py", - "code": { - "1395": " args = dashboard.dashboard_args(params)", - "1396": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1397": " return {\"errors\": [\"unauthorized site\"]}", - "1398": " return {\"data\": dashboard.get_performance(site_id=siteId, **args)}", - "1399": "", - "1400": "", - "1401": "@app.route('/{siteId}/dashboard/performance/search', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.152.29", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ebee0055f40f4f3d0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebee0055f40f4f3d0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:46.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1233, - "method": "get_missing_resources_trend", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "1230": " \"url_hostpath\": {", - "1231": " \"terms\": {", - "1232": " \"size\": 10,", - "1233": " \"field\": \"url_hostpath.raw\"", - "1234": " }", - "1235": " }", - "1236": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1481, - "method": "get_performance_sessions", - "file": "/var/task/app.py", - "code": { - "1478": " args = dashboard.dashboard_args(params)", - "1479": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1480": " return {\"errors\": [\"unauthorized site\"]}", - "1481": " return {\"data\": dashboard.get_missing_resources_trend(site_id=siteId, **args)}", - "1482": "", - "1483": "", - "1484": "@app.route('/{siteId}/dashboard/network', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.52.5", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ebee0055e63104c00000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebee0055e63104c00000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:46.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 483, - "method": "get_slowest_images", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "480": " \"sort\": [", - "481": " {\"impact\": {\"order\": \"desc\"}}", - "482": " ],", - "483": " \"size\": 10", - "484": " }", - "485": " }", - "486": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1429, - "method": "get_dashboard_slowest_images", - "file": "/var/task/app.py", - "code": { - "1426": " args = dashboard.dashboard_args(params)", - "1427": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1428": " return {\"errors\": [\"unauthorized site\"]}", - "1429": " return {\"data\": dashboard.get_slowest_images(site_id=siteId, **args)}", - "1430": "", - "1431": "", - "1432": "@app.route('/{siteId}/dashboard/sessions_feedback', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.9.29", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ebf70055f2604b970000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebf70055f2604b970000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:55.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 345, - "method": "__get_application_activity", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "342": " \"aggs\": {", - "343": " \"avg_img_load\": {", - "344": " \"avg\": {", - "345": " \"field\": \"duration\"", - "346": " }", - "347": " }", - "348": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 285, - "method": "get_application_activity", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "282": "def get_application_activity(site_id, startTimestamp=int(time.time()) - 24 * 60 * 60 * 1000,", - "283": " endTimestamp=int(time.time()) * 1000, platform=None, **args):", - "284": " with pg_client.PostgresClient() as cur:", - "285": " row = __get_application_activity(cur, site_id, startTimestamp, endTimestamp, platform)", - "286": " results = helper.variable_to_camel_case(row)", - "287": " print(\"new\")", - "288": " print(row)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1371, - "method": "get_dashboard_application_activity", - "file": "/var/task/app.py", - "code": { - "1368": " args = dashboard.dashboard_args(params)", - "1369": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1370": " return {\"errors\": [\"unauthorized site\"]}", - "1371": " return {\"data\": dashboard.get_application_activity(site_id=siteId, **args)}", - "1372": "", - "1373": "", - "1374": "@app.route('/{siteId}/dashboard/page_metrics', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.238.85", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ebf70055f1cb952e0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ebf70055f1cb952e0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:36:55.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1233, - "method": "get_missing_resources_trend", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "1230": " \"url_hostpath\": {", - "1231": " \"terms\": {", - "1232": " \"size\": 10,", - "1233": " \"field\": \"url_hostpath.raw\"", - "1234": " }", - "1235": " }", - "1236": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1481, - "method": "get_performance_sessions", - "file": "/var/task/app.py", - "code": { - "1478": " args = dashboard.dashboard_args(params)", - "1479": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1480": " return {\"errors\": [\"unauthorized site\"]}", - "1481": " return {\"data\": dashboard.get_missing_resources_trend(site_id=siteId, **args)}", - "1482": "", - "1483": "", - "1484": "@app.route('/{siteId}/dashboard/network', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.179.21", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ec480055f7dc02080000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ec480055f7dc02080000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:38:16.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 345, - "method": "__get_application_activity", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "342": " \"aggs\": {", - "343": " \"avg_img_load\": {", - "344": " \"avg\": {", - "345": " \"field\": \"duration\"", - "346": " }", - "347": " }", - "348": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 285, - "method": "get_application_activity", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "282": "def get_application_activity(site_id, startTimestamp=int(time.time()) - 24 * 60 * 60 * 1000,", - "283": " endTimestamp=int(time.time()) * 1000, platform=None, **args):", - "284": " with pg_client.PostgresClient() as cur:", - "285": " row = __get_application_activity(cur, site_id, startTimestamp, endTimestamp, platform)", - "286": " results = helper.variable_to_camel_case(row)", - "287": " print(\"new\")", - "288": " print(row)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1371, - "method": "get_dashboard_application_activity", - "file": "/var/task/app.py", - "code": { - "1368": " args = dashboard.dashboard_args(params)", - "1369": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1370": " return {\"errors\": [\"unauthorized site\"]}", - "1371": " return {\"data\": dashboard.get_application_activity(site_id=siteId, **args)}", - "1372": "", - "1373": "", - "1374": "@app.route('/{siteId}/dashboard/page_metrics', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.52.5", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ec480055f40f9e8b0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ec480055f40f9e8b0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:38:16.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 608, - "method": "get_performance", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "605": " \"aggs\": {", - "606": " \"duration_avg\": {", - "607": " \"avg\": {", - "608": " \"field\": \"duration\"", - "609": " }", - "610": " }", - "611": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1398, - "method": "get_dashboard_performance", - "file": "/var/task/app.py", - "code": { - "1395": " args = dashboard.dashboard_args(params)", - "1396": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1397": " return {\"errors\": [\"unauthorized site\"]}", - "1398": " return {\"data\": dashboard.get_performance(site_id=siteId, **args)}", - "1399": "", - "1400": "", - "1401": "@app.route('/{siteId}/dashboard/performance/search', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.179.21", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ec480056027165220000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ec480056027165220000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:38:16.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1233, - "method": "get_missing_resources_trend", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "1230": " \"url_hostpath\": {", - "1231": " \"terms\": {", - "1232": " \"size\": 10,", - "1233": " \"field\": \"url_hostpath.raw\"", - "1234": " }", - "1235": " }", - "1236": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1481, - "method": "get_performance_sessions", - "file": "/var/task/app.py", - "code": { - "1478": " args = dashboard.dashboard_args(params)", - "1479": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1480": " return {\"errors\": [\"unauthorized site\"]}", - "1481": " return {\"data\": dashboard.get_missing_resources_trend(site_id=siteId, **args)}", - "1482": "", - "1483": "", - "1484": "@app.route('/{siteId}/dashboard/network', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.9.29", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40ec480055ef78f0130000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40ec480055ef78f0130000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:38:16.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 483, - "method": "get_slowest_images", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "480": " \"sort\": [", - "481": " {\"impact\": {\"order\": \"desc\"}}", - "482": " ],", - "483": " \"size\": 10", - "484": " }", - "485": " }", - "486": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1429, - "method": "get_dashboard_slowest_images", - "file": "/var/task/app.py", - "code": { - "1426": " args = dashboard.dashboard_args(params)", - "1427": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1428": " return {\"errors\": [\"unauthorized site\"]}", - "1429": " return {\"data\": dashboard.get_slowest_images(site_id=siteId, **args)}", - "1430": "", - "1431": "", - "1432": "@app.route('/{siteId}/dashboard/sessions_feedback', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.198.37", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e40efe90055f6b0f1a70000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e40efe90055f6b0f1a70000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e20046253437b0019934804", - "received_at": "2020-02-10T05:53:45.000Z", - "exceptions": [ - { - "error_class": "Exception", - "message": "NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "stacktrace": [ - { - "column_number": null, - "in_project": false, - "line_number": 181, - "method": "_raise_error", - "file": "/var/task/elasticsearch/connection/base.py", - "code": { - "178": " logger.warning(\"Undecodable raw error response from server: %s\", err)", - "179": "", - "180": " raise HTTP_EXCEPTIONS.get(status_code, TransportError)(", - "181": " status_code, error_message, additional_info", - "182": " )", - "183": "", - "184": " def _get_default_user_agent(self):" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 156, - "method": "perform_request", - "file": "/var/task/elasticsearch/connection/http_requests.py", - "code": { - "153": " response.status_code,", - "154": " raw_data,", - "155": " )", - "156": " self._raise_error(response.status_code, raw_data)", - "157": "", - "158": " self.log_request_success(", - "159": " method," - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 350, - "method": "perform_request", - "file": "/var/task/elasticsearch/transport.py", - "code": { - "347": " body,", - "348": " headers=headers,", - "349": " ignore=ignore,", - "350": " timeout=timeout,", - "351": " )", - "352": "", - "353": " except TransportError as e:" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 819, - "method": "search", - "file": "/var/task/elasticsearch/client/__init__.py", - "code": { - "816": " if not index:", - "817": " index = \"_all\"", - "818": " return self.transport.perform_request(", - "819": " \"GET\", _make_path(index, \"_search\"), params=params, body=body", - "820": " )", - "821": "", - "822": " @query_params(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 84, - "method": "_wrapped", - "file": "/var/task/elasticsearch/client/utils.py", - "code": { - "81": " for p in (\"ignore\", \"request_timeout\"):", - "82": " if p in kwargs:", - "83": " params[p] = kwargs.pop(p)", - "84": " return func(*args, params=params, **kwargs)", - "85": "", - "86": " return _wrapped", - "87": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 58, - "method": "get_agg", - "file": "/var/task/chalicelib/utils/es_client.py", - "code": { - "54": " data = self.__es.search(", - "55": " index=index,", - "56": " scroll='2m',", - "57": " size=1000,", - "58": " body=query", - "59": " )", - "60": " return data[\"aggregations\"]" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 608, - "method": "get_performance", - "file": "/var/task/chalicelib/dashboard.py", - "code": { - "605": " \"aggs\": {", - "606": " \"duration_avg\": {", - "607": " \"avg\": {", - "608": " \"field\": \"duration\"", - "609": " }", - "610": " }", - "611": " }" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 1398, - "method": "get_dashboard_performance", - "file": "/var/task/app.py", - "code": { - "1395": " args = dashboard.dashboard_args(params)", - "1396": " if not sites.is_authorized(site_id=siteId, tenant_id=context[\"tenantId\"]):", - "1397": " return {\"errors\": [\"unauthorized site\"]}", - "1398": " return {\"data\": dashboard.get_performance(site_id=siteId, **args)}", - "1399": "", - "1400": "", - "1401": "@app.route('/{siteId}/dashboard/performance/search', methods=['GET'])" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 158, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "155": " # args['context'] = authorizer_context", - "156": "", - "157": " try:", - "158": " r = view_func(**args)", - "159": " pg_client.close()", - "160": " except Exception as e:", - "161": " pg_client.close()" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 168, - "method": "_view_func", - "file": "/var/task/app.py", - "code": { - "165": " scope.set_tag('asayer_session_id', app.current_request.headers.get('vnd.asayer.io.sid'))", - "166": " scope.set_extra(\"context\", args['context'])", - "167": " sentry_sdk.capture_exception(e)", - "168": " raise e", - "169": "", - "170": " return r", - "171": "" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": null, - "in_project": false, - "line_number": 731, - "method": "_get_view_function_response", - "file": "/var/task/chalice/app.py", - "code": { - "728": "", - "729": " def _get_view_function_response(self, view_function, function_args):", - "730": " try:", - "731": " response = view_function(**function_args)", - "732": " if not isinstance(response, Response):", - "733": " response = Response(body=response)", - "734": " self._validate_response(response)" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "special_info": { - "asayerSessionId": "525314475541266774" - }, - "environment": {}, - "session": {}, - "extraData": {} - }, - "customDiagnostics": {}, - "request": {}, - "app": { - "releaseStage": "production", - "version": null - }, - "device": { - "hostname": "169.254.9.29", - "runtimeVersions": { - "python": "3.6.10" - } - }, - "user": {}, - "breadcrumbs": [], - "context": "/var/task/elasticsearch/connection/base.py:181", - "severity": "warning", - "unhandled": false - }, - { - "id": "5e411c8b0055f891aaa90000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e411c8b0055f891aaa90000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T09:04:11.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e411cc00055e23d4cf60000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e411cc00055e23d4cf60000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T09:05:04.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T09:04:11.258Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T09:04:12.373Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/filters" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T09:04:13.599Z", - "metaData": { - "targetText": "(...)", - "targetSelector": "DIV.ui.icon.input.autoComplete_searchInput_2Jy11OB > INPUT:nth-child(1)" - } - }, - { - "type": "log", - "name": "Console output", - "timestamp": "2020-02-10T09:04:14.508Z", - "metaData": { - "severity": "log", - "[0]": "[object Object]" - } - }, - { - "type": "log", - "name": "Console output", - "timestamp": "2020-02-10T09:04:14.684Z", - "metaData": { - "severity": "log", - "[0]": "[object Object]" - } - }, - { - "type": "log", - "name": "Console output", - "timestamp": "2020-02-10T09:04:14.817Z", - "metaData": { - "severity": "log", - "[0]": "[object Object]" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T09:04:17.302Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/events/search?type=CLICK&q=log" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T09:04:18.951Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T09:04:20.066Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/0/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T09:04:20.353Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T09:04:28.368Z", - "metaData": { - "targetText": "Login", - "targetSelector": "DIV.filterItem_filterItem_198AqGF:nth-child(3)" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T09:04:30.658Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/0/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T09:04:30.949Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T09:04:33.684Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T09:04:36.655Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T09:05:03.190Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T09:05:04.485Z", - "metaData": { - "targetText": "OS", - "targetSelector": "DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412dc60055ed91d47b0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412dc60055ed91d47b0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:17:42.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(4) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412e330056040fdf1a0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412e330056040fdf1a0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:19:31.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(4) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:17:42.601Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:17:43.512Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/filters" - } - }, - { - "type": "log", - "name": "Console output", - "timestamp": "2020-02-10T10:17:44.380Z", - "metaData": { - "severity": "log", - "[0]": "[object Object]" - } - }, - { - "type": "log", - "name": "Console output", - "timestamp": "2020-02-10T10:17:44.791Z", - "metaData": { - "severity": "log", - "[0]": "[object Object]" - } - }, - { - "type": "log", - "name": "Console output", - "timestamp": "2020-02-10T10:17:44.966Z", - "metaData": { - "severity": "log", - "[0]": "[object Object]" - } - }, - { - "type": "log", - "name": "Console output", - "timestamp": "2020-02-10T10:17:45.281Z", - "metaData": { - "severity": "log", - "[0]": "[object Object]" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:17:47.278Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/events/search?type=LOCATION&q=runs" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:17:47.812Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:17:48.654Z", - "metaData": { - "targetText": "/runs", - "targetSelector": "DIV.filterItem_filterItem_198AqGF:nth-child(2)" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:17:50.958Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/0/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:17:51.290Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:17:56.351Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:18:06.784Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:18:36.785Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:19:07.276Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:19:22.671Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:19:28.025Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:19:31.408Z", - "metaData": { - "targetText": "Referrer", - "targetSelector": "DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(4) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412ed00055f6e66b350000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412ed00055f6e66b350000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:22:08.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:20:43.394Z", - "metaData": { - "targetText": "app.asayer.ioapp.asayer.io104.155.66.82www.mynexity.frnexity.frmonbanquet.frSessionsTestsRunsInsightsGood Job!You have discovered 100% (...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:20:49.493Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:21:07.122Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:21:36.741Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:21:46.273Z", - "metaData": { - "targetText": "(...)", - "targetSelector": "BUTTON.eventEditor_button_3jCuBfU:nth-child(2) > SPAN.icon_wrapper_2jeksFN.fill-gray-medium > svg" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:21:48.430Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/0/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:21:48.730Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:21:54.910Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:21:59.604Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:03.994Z", - "metaData": { - "targetText": "app.asayer.ioapp.asayer.io104.155.66.82www.mynexity.frnexity.frmonbanquet.frSessionsTestsRunsInsightsGood Job!You have discovered 100% (...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:22:06.686Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.074Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.964Z", - "metaData": { - "targetText": "Console Errors", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(2) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412ed300560576e5e50000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412ed300560576e5e50000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:22:11.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:20:43.394Z", - "metaData": { - "targetText": "app.asayer.ioapp.asayer.io104.155.66.82www.mynexity.frnexity.frmonbanquet.frSessionsTestsRunsInsightsGood Job!You have discovered 100% (...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:20:49.493Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:21:07.122Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:21:36.741Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:21:46.273Z", - "metaData": { - "targetText": "(...)", - "targetSelector": "BUTTON.eventEditor_button_3jCuBfU:nth-child(2) > SPAN.icon_wrapper_2jeksFN.fill-gray-medium > svg" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:21:48.430Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/0/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:21:48.730Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:21:54.910Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:21:59.604Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:03.994Z", - "metaData": { - "targetText": "app.asayer.ioapp.asayer.io104.155.66.82www.mynexity.frnexity.frmonbanquet.frSessionsTestsRunsInsightsGood Job!You have discovered 100% (...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:22:06.686Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.074Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.964Z", - "metaData": { - "targetText": "Console Errors", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(2) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:08.006Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:09.371Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:11.796Z", - "metaData": { - "targetText": "OS", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412ed60055e9547d230000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412ed60055e9547d230000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:22:14.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r SPAN.icon_wrapper_2jeksFN.fill-gray-medium > svg" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:21:48.430Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/0/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:21:48.730Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:21:54.910Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:21:59.604Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:03.994Z", - "metaData": { - "targetText": "app.asayer.ioapp.asayer.io104.155.66.82www.mynexity.frnexity.frmonbanquet.frSessionsTestsRunsInsightsGood Job!You have discovered 100% (...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:22:06.686Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.074Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.964Z", - "metaData": { - "targetText": "Console Errors", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(2) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:08.006Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:09.371Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:11.796Z", - "metaData": { - "targetText": "OS", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:11.840Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:12.624Z", - "metaData": { - "targetText": "LIVE (2)Past 7 DaysTodayYesterdayPast 7 DaysPast 30 DaysThis MonthPrevious MonthThis YearCustom RangeIssuesMissing ResourceRage ClickSl(...)", - "targetSelector": "DIV.container-70" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.123Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.906Z", - "metaData": { - "targetText": "Device", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412ed70055e8a5044c0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412ed70055e8a5044c0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:22:15.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r SPAN.icon_wrapper_2jeksFN.fill-gray-medium > svg" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:21:48.430Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/0/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:21:48.730Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:21:54.910Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:21:59.604Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:03.994Z", - "metaData": { - "targetText": "app.asayer.ioapp.asayer.io104.155.66.82www.mynexity.frnexity.frmonbanquet.frSessionsTestsRunsInsightsGood Job!You have discovered 100% (...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:22:06.686Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.074Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.964Z", - "metaData": { - "targetText": "Console Errors", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(2) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:08.006Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:09.371Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:11.796Z", - "metaData": { - "targetText": "OS", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:11.840Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:12.624Z", - "metaData": { - "targetText": "LIVE (2)Past 7 DaysTodayYesterdayPast 7 DaysPast 30 DaysThis MonthPrevious MonthThis YearCustom RangeIssuesMissing ResourceRage ClickSl(...)", - "targetSelector": "DIV.container-70" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.123Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.906Z", - "metaData": { - "targetText": "Device", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:13.939Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:14.796Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:15.482Z", - "metaData": { - "targetText": "Browser", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5 > DIV.filterItem_filterItem_198AqGF" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412ed90055ebb627250000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412ed90055ebb627250000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:22:17.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:03.994Z", - "metaData": { - "targetText": "app.asayer.ioapp.asayer.io104.155.66.82www.mynexity.frnexity.frmonbanquet.frSessionsTestsRunsInsightsGood Job!You have discovered 100% (...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:22:06.686Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.074Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.964Z", - "metaData": { - "targetText": "Console Errors", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(2) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:08.006Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:09.371Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:11.796Z", - "metaData": { - "targetText": "OS", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:11.840Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:12.624Z", - "metaData": { - "targetText": "LIVE (2)Past 7 DaysTodayYesterdayPast 7 DaysPast 30 DaysThis MonthPrevious MonthThis YearCustom RangeIssuesMissing ResourceRage ClickSl(...)", - "targetSelector": "DIV.container-70" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.123Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.906Z", - "metaData": { - "targetText": "Device", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:13.939Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:14.796Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:15.482Z", - "metaData": { - "targetText": "Browser", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5 > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:15.533Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:16.308Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:17.634Z", - "metaData": { - "targetText": "Country", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412edb0055ea9350dd0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412edb0055ea9350dd0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:22:19.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:07.964Z", - "metaData": { - "targetText": "Console Errors", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(2) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:08.006Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:09.371Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:11.796Z", - "metaData": { - "targetText": "OS", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:11.840Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:12.624Z", - "metaData": { - "targetText": "LIVE (2)Past 7 DaysTodayYesterdayPast 7 DaysPast 30 DaysThis MonthPrevious MonthThis YearCustom RangeIssuesMissing ResourceRage ClickSl(...)", - "targetSelector": "DIV.container-70" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.123Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.906Z", - "metaData": { - "targetText": "Device", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:13.939Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:14.796Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:15.482Z", - "metaData": { - "targetText": "Browser", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5 > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:15.533Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:16.308Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:17.634Z", - "metaData": { - "targetText": "Country", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:17.670Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:18.450Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:19.161Z", - "metaData": { - "targetText": "Duration", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5 > DIV.filterItem_filterItem_198AqGF" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412ee10055ec653dbf0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412ee10055ec653dbf0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:22:25.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(2) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:08.006Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:09.371Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:11.796Z", - "metaData": { - "targetText": "OS", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:11.840Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:12.624Z", - "metaData": { - "targetText": "LIVE (2)Past 7 DaysTodayYesterdayPast 7 DaysPast 30 DaysThis MonthPrevious MonthThis YearCustom RangeIssuesMissing ResourceRage ClickSl(...)", - "targetSelector": "DIV.container-70" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.123Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.906Z", - "metaData": { - "targetText": "Device", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:13.939Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:14.796Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:15.482Z", - "metaData": { - "targetText": "Browser", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5 > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:15.533Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:16.308Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:17.634Z", - "metaData": { - "targetText": "Country", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:17.670Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:18.450Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:19.161Z", - "metaData": { - "targetText": "Duration", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5 > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:19.197Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:22.056Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:25.556Z", - "metaData": { - "targetText": "email", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(3) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e412eeb0055f714b5290000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e412eeb0055f714b5290000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:22:35.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:13.906Z", - "metaData": { - "targetText": "Device", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:13.939Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:14.796Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:15.482Z", - "metaData": { - "targetText": "Browser", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5 > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:15.533Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:16.308Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:17.634Z", - "metaData": { - "targetText": "Country", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:17.670Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:18.450Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:19.161Z", - "metaData": { - "targetText": "Duration", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5 > DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:19.197Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:22.056Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:25.556Z", - "metaData": { - "targetText": "email", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(3) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(3) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:22:25.596Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Cannot read property '0' of undefined", - "severity": "error" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:27.908Z", - "metaData": { - "targetText": "app.asayer.ioapp.asayer.io104.155.66.82www.mynexity.frnexity.frmonbanquet.frSessionsTestsRunsInsightsGood Job!You have discovered 100% (...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:30.132Z", - "metaData": { - "targetText": "ADD STEP", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV:nth-child(1) > BUTTON.ui.button.search-bottom-button.button_plain_2pVBxaE.button_button_2rl5k6p" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:22:35.217Z", - "metaData": { - "targetText": "Console Errors", - "targetSelector": "DIV.bugFinder_bottom_3SBJs2c > DIV.customFilters_wrapper_wkzfriO:nth-child(1) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(2) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(1) > DIV.filterItem_filterItem_198AqGF > SPAN.filterItem_label_26N8IUB:nth-child(2)" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e41330d0055ed96770b0000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e41330d0055ed96770b0000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:40:13.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV.sessionItem_playLink_3KWWOLv:nth-child(2) > A.link_link_3wNogtO > SPAN.icon_wrapper_2jeksFN.fill-teal > svg" - } - }, - { - "type": "navigation", - "name": "History pushState", - "timestamp": "2020-02-10T10:39:41.323Z", - "metaData": { - "title": null, - "state": { - "key": "z188uo" - }, - "prevState": { - "key": "x8h7ck" - }, - "to": "/0/live/session/525627733332840073", - "from": "/0/sessions" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:39:41.867Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/integrations/slack/channels" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:39:41.868Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/integrations/jiracloud" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:39:47.121Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:39:48.083Z", - "metaData": { - "targetText": "Sessions", - "targetSelector": "A.playerBlockHeader_backLink_3-eqyfs.link_link_3wNogtO" - } - }, - { - "type": "navigation", - "name": "History pushState", - "timestamp": "2020-02-10T10:39:48.083Z", - "metaData": { - "title": null, - "state": { - "key": "068d67" - }, - "prevState": { - "key": "z188uo" - }, - "to": "/0/sessions", - "from": "/0/live/session/525627733332840073" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:39:48.724Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions2/favorite" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:39:48.729Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/integration/sources" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:39:48.731Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/integration/variables" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:39:48.731Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/0/sessions/live" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:39:48.733Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:39:48.927Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/0/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:39:49.239Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:39:53.846Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:39:55.619Z", - "metaData": { - "targetText": "app.asayer.ioapp.asayer.io104.155.66.82www.mynexity.frnexity.frmonbanquet.frSessionsTestsRunsInsightsGood Job!You have discovered 100% (...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:39:58.665Z", - "metaData": { - "targetText": "Load more...", - "targetSelector": "BUTTON.ui.button.button_button_2rl5k6p.button_outline_2i2l28b" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:40:02.865Z", - "metaData": { - "targetText": "Find sessions with Input", - "targetSelector": "DIV.randomPlaceholder_placeholder_3CSat_L" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:40:08.654Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:40:12.598Z", - "metaData": { - "targetText": "Country", - "targetSelector": "DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(4) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(3) > DIV.filterItem_filterItem_198AqGF" - } - } - ], - "context": "/0/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e4137080055f537dfa40000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e4137080055f537dfa40000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e4137081b4d7f0019be2d46", - "received_at": "2020-02-10T10:57:12.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Expected [K, V] tuple: Try Asayer", - "stacktrace": [ - { - "column_number": 19696, - "in_project": null, - "line_number": 6, - "method": "Pe", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": "))},i}function De(e,t){return e===t?e:x(e)?t:e.constructor(t)}function Pe(e){if(e!==Object(e))throw new TypeError(\"Expected [K, V] tuple: \"+e)}function Ae(e){return v(e)?b:m(e)?w:_}function Ne(e){retu" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 13469, - "in_project": null, - "line_number": 6, - "method": "", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": "eq()},t.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate((function(t){if(t){Pe(t);var r=h(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}}),t)},t.prototype.__iterator=function(" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 35265, - "in_project": null, - "line_number": 6, - "method": "t.__iterate", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": ")}))},t.prototype.__iterate=function(e,t){for(var n,r=t?this.size:0,i=Kt(this,t);(n=i())!==Gt&&!1!==e(n,t?--r:r++,this););return r},t.prototype.__ensureOwner=function(e){return e===this.__ownerID?this" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 13440, - "in_project": null, - "line_number": 6, - "method": "t.__iterate", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": "ction(){return this._iter.toSeq()},t.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate((function(t){if(t){Pe(t);var r=h(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}}),t)},t.p" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 51338, - "in_project": null, - "line_number": 6, - "method": "t.forEach", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": "n(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return Be(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Be(this.size),e=void 0!==e?\"\"+e:\",\";var t=\"\",n=!0;return " - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 24768, - "in_project": null, - "line_number": 6, - "method": "", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": "tion t(t){return null==t?Pt():X(t)&&!S(t)?t:Pt().withMutations((function(n){var r=e(t);Be(r.size),r.forEach((function(e,t){return n.set(t,e)}))}))}return e&&(t.__proto__=e),t.prototype=Object.create(e" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 24340, - "in_project": null, - "line_number": 6, - "method": "t.mt [as withMutations]", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": "];return $e(this,e,Pt(),(function(e){return lt(e,t)}))}function mt(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this}function yt(){return this.__ownerID?this:th" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 24717, - "in_project": null, - "line_number": 6, - "method": "t [as constructor]", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": "ge.prototype.cacheResult=Ie;var wt=function(e){function t(t){return null==t?Pt():X(t)&&!S(t)?t:Pt().withMutations((function(n){var r=e(t);Be(r.size),r.forEach((function(e,t){return n.set(t,e)}))}))}re" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 22884, - "in_project": null, - "line_number": 6, - "method": "ot", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": "on(e){return e===r?t:n(e,t,i)}))}:function(t,n){e.set(n,t)},o=0;o0;)t[n]=arguments[n+1];retur" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 22374, - "in_project": null, - "line_number": 6, - "method": "t.rt", - "file": "https://app.asayer.io/1.app-531e376.js", - "code": { - "6": "){return $e(this,e,t,n)}function rt(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];return ot(this,e)}function it(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if(\"function" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - } - ] - } - ], - "threads": [], - "metaData": { - "device": { - "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" - } - }, - "customDiagnostics": {}, - "request": { - "url": "https://app.asayer.io/72/sessions", - "clientIp": "185.64.149.99" - }, - "app": { - "releaseStage": "production" - }, - "device": { - "locale": "fr-FR", - "time": "2020-02-10T10:57:12.038Z", - "osName": "Windows 10.0", - "browserName": "Chrome", - "browserVersion": "79.0.3945" - }, - "user": { - "id": "185.64.149.99" - }, - "breadcrumbs": [ - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:00.406Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/events/search?q=try%20as" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:03.720Z", - "metaData": { - "targetText": "(...)", - "targetSelector": "DIV.sessionItem_sessionItem_1a0toO6:nth-child(2) > DIV.sessionItem_playLink_3KWWOLv:nth-child(2) > A.link_link_3wNogtO > SPAN.icon_wrapper_2jeksFN.fill-teal > svg" - } - }, - { - "type": "navigation", - "name": "History pushState", - "timestamp": "2020-02-10T10:57:03.732Z", - "metaData": { - "title": null, - "state": { - "key": "zw6xmd" - }, - "prevState": { - "key": "olgtps" - }, - "to": "/72/session/521925111024389735", - "from": "/72/sessions" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:04.022Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/integrations/slack/channels" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:04.145Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/sessions2/521925111024389735" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:57:04.302Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:04.415Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/integrations/jiracloud" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:04.449Z", - "metaData": { - "status": 200, - "request": "GET https://asayer-sessions-mobs.s3.amazonaws.com/72/521925111024389735.mob" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:07.216Z", - "metaData": { - "targetText": "Sessions", - "targetSelector": "A.playerBlockHeader_backLink_3-eqyfs.link_link_3wNogtO > DIV:nth-child(2)" - } - }, - { - "type": "navigation", - "name": "History pushState", - "timestamp": "2020-02-10T10:57:07.216Z", - "metaData": { - "title": null, - "state": { - "key": "iq3oi2" - }, - "prevState": { - "key": "zw6xmd" - }, - "to": "/72/sessions", - "from": "/72/session/521925111024389735" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:07.561Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/sessions2/favorite" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:07.562Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/integration/sources" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:07.563Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/integration/variables" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:57:07.710Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:07.862Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/72/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:57:08.185Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:08.791Z", - "metaData": { - "targetText": "Find sessions with Click", - "targetSelector": "DIV.randomPlaceholder_placeholder_3CSat_L" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:10.177Z", - "metaData": { - "targetText": "(...)", - "targetSelector": "DIV.ui.fluid.left.icon.input.eventFilter_searchField_2MpErPW > INPUT:nth-child(1)" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:11.279Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/events/search?q=try%20asa" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:11.922Z", - "metaData": { - "targetText": "Try Asayer", - "targetSelector": "DIV.filterItem_filterItem_198AqGF" - } - } - ], - "context": "/72/sessions", - "severity": "error", - "unhandled": true - }, - { - "id": "5e41370e00560395da120000", - "url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227/events/5e41370e00560395da120000", - "project_url": "https://api.bugsnag.com/projects/5d00452ccbe86e001631f227", - "is_full_report": true, - "error_id": "5e399adc2a024a001971c551", - "received_at": "2020-02-10T10:57:18.000Z", - "exceptions": [ - { - "error_class": "TypeError", - "message": "Cannot read property '0' of undefined", - "stacktrace": [ - { - "column_number": 307952, - "in_project": null, - "line_number": 1, - "method": "t.n.onFilterClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "applyFilter,300),n.onFilterClick=function(e,t){n.addFilter(e),n.props.setFilterOption(e.key,[e.value[0]]),(t||e.hasNoValue)&&n.applyFilter()},n.addFilter=function(e){var t=n.props,r=t.index,o=t.filter" - }, - "macho_uuid": null, - "source_control_link": null, - "source_control_name": "" - }, - { - "column_number": 309878, - "in_project": null, - "line_number": 1, - "method": "onClick", - "file": "https://app.asayer.io/app-c093b08.js", - "code": { - "1": "r n=this;return a.a.createElement(b.a,{label:t.label||t.key,icon:t.icon,onClick:function(){return n.onFilterClick(t)}})}},{key:\"renderList\",value:function(e,t){for(var n=[],r=0;r DIV:nth-child(2)" - } - }, - { - "type": "navigation", - "name": "History pushState", - "timestamp": "2020-02-10T10:57:07.216Z", - "metaData": { - "title": null, - "state": { - "key": "iq3oi2" - }, - "prevState": { - "key": "zw6xmd" - }, - "to": "/72/sessions", - "from": "/72/session/521925111024389735" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:07.561Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/sessions2/favorite" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:07.562Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/integration/sources" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:07.563Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/integration/variables" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:57:07.710Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:07.862Z", - "metaData": { - "status": 200, - "request": "POST https://parrot.asayer.io/72/sessions/search2" - } - }, - { - "type": "request", - "name": "XMLHttpRequest succeeded", - "timestamp": "2020-02-10T10:57:08.185Z", - "metaData": { - "status": 200, - "request": "POST https://api.amplitude.com" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:08.791Z", - "metaData": { - "targetText": "Find sessions with Click", - "targetSelector": "DIV.randomPlaceholder_placeholder_3CSat_L" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:10.177Z", - "metaData": { - "targetText": "(...)", - "targetSelector": "DIV.ui.fluid.left.icon.input.eventFilter_searchField_2MpErPW > INPUT:nth-child(1)" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:11.279Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/events/search?q=try%20asa" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:11.922Z", - "metaData": { - "targetText": "Try Asayer", - "targetSelector": "DIV.filterItem_filterItem_198AqGF" - } - }, - { - "type": "error", - "name": "TypeError", - "timestamp": "2020-02-10T10:57:12.038Z", - "metaData": { - "errorClass": "TypeError", - "errorMessage": "Expected [K, V] tuple: Try Asayer", - "severity": "error" - } - }, - { - "type": "request", - "name": "fetch() succeeded", - "timestamp": "2020-02-10T10:57:12.161Z", - "metaData": { - "status": 200, - "request": "GET https://parrot.asayer.io/72/filters" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:14.201Z", - "metaData": { - "targetText": "asayer.ioasayer.ioSessionsInsightsFew more steps and you’re done!You have discovered 83% of Asayer features!Discover more of AsayerInst(...)", - "targetSelector": "DIV#app" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:15.103Z", - "metaData": { - "targetText": "(...)", - "targetSelector": "DIV.filterSelectionButton_wrapper_3asjaf8" - } - }, - { - "type": "user", - "name": "UI click", - "timestamp": "2020-02-10T10:57:18.460Z", - "metaData": { - "targetText": "Clicked", - "targetSelector": "DIV.customFilters_wrapper_wkzfriO:nth-child(2) > DIV.filterModal_modal_CKdnaaM:nth-child(2) > DIV > DIV.filterModal_filterListStatic_3QeEoBa:nth-child(2) > DIV.filterModal_filterGroup_1dsFuXp.mr-6.mb-6:nth-child(2) > DIV.filterModal_list_3AV7i2N:nth-child(2) > DIV.mr-5:nth-child(2) > DIV.filterItem_filterItem_198AqGF" - } - } - ], - "context": "/72/sessions", - "severity": "error", - "unhandled": true - } -] diff --git a/backend/pkg/integrations/clients/client.go b/backend/pkg/integrations/clients/client.go index c9a677e7f..4ef5cbe16 100644 --- a/backend/pkg/integrations/clients/client.go +++ b/backend/pkg/integrations/clients/client.go @@ -1,110 +1,5 @@ package clients -import ( - "encoding/json" - "fmt" - "openreplay/backend/pkg/integrations/model" - "openreplay/backend/pkg/messages" - "sync" -) - -type requester interface { - Request(*client) error -} - -type client struct { - requester - requestData *model.RequestInfo - integration *model.Integration - mux sync.Mutex - updateChan chan<- model.Integration - evChan chan<- *SessionErrorEvent - errChan chan<- error -} - -type SessionErrorEvent struct { - SessionID uint64 - Token string - *messages.IntegrationEvent -} - -type ClientMap map[string]*client - -func NewClient(i *model.Integration, updateChan chan<- model.Integration, evChan chan<- *SessionErrorEvent, errChan chan<- error) (*client, error) { - ri, err := i.GetRequestInfo() - if err != nil { - return nil, err - } - c := &client{ - evChan: evChan, - errChan: errChan, - updateChan: updateChan, - requestData: ri, - } - return c, nil -} - -func (c *client) Update(i *model.Integration) error { - var r requester - switch i.Provider { - case "bugsnag": - r = new(bugsnag) - case "cloudwatch": - r = new(cloudwatch) - case "datadog": - r = new(datadog) - case "elasticsearch": - r = new(elasticsearch) - case "newrelic": - r = new(newrelic) - case "rollbar": - r = new(rollbar) - case "sentry": - r = new(sentry) - case "stackdriver": - r = new(stackdriver) - case "sumologic": - r = new(sumologic) - } - if err := json.Unmarshal(i.Options, r); err != nil { - return err - } - - c.mux.Lock() - defer c.mux.Unlock() - - c.integration = i - c.requester = r - return nil -} - -func (c *client) handleError(err error) { - c.errChan <- fmt.Errorf("%v | Integration: %v", err, *c.integration) -} - -func (c *client) Request() { - c.mux.Lock() - defer c.mux.Unlock() - - if !c.requestData.CanAttempt() { - return - } - c.requestData.UpdateLastAttempt() - - err := c.requester.Request(c) - if err != nil { - c.requestData.Inc() - c.handleError(fmt.Errorf("ERRROR L139, err: %s", err)) - } else { - c.requestData.Reset() - } - - rd, err := c.requestData.Encode() - if err != nil { - c.handleError(err) - } - // RequestData is a byte array (pointer-like type), but it's replacement - // won't affect the previous value sent by channel - c.integration.RequestData = rd - c.updateChan <- *c.integration +type Client interface { + FetchSessionData(credentials interface{}, sessionID uint64) (interface{}, error) } diff --git a/backend/pkg/integrations/clients/cloudwatch.go b/backend/pkg/integrations/clients/cloudwatch.go deleted file mode 100644 index e06a6c605..000000000 --- a/backend/pkg/integrations/clients/cloudwatch.go +++ /dev/null @@ -1,85 +0,0 @@ -package clients - -import ( - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/session" - "github.com/aws/aws-sdk-go/service/cloudwatchlogs" - "openreplay/backend/pkg/messages" - "regexp" - "strings" -) - -var reIsException = regexp.MustCompile(`(?i)exception|error`) - -type cloudwatch struct { - AwsAccessKeyId string // `json:"aws_access_key_id"` - AwsSecretAccessKey string // `json:"aws_secret_access_key"` - LogGroupName string // `json:"log_group_name"` - Region string // `json:"region"` -} - -func (cw *cloudwatch) Request(c *client) error { - startTs := int64(c.requestData.GetLastMessageTimestamp() + 1) // From next millisecond - //endTs := utils.CurrentTimestamp() - sess, err := session.NewSession(aws.NewConfig(). - WithRegion(cw.Region). - WithCredentials( - credentials.NewStaticCredentials(cw.AwsAccessKeyId, cw.AwsSecretAccessKey, ""), - ), - ) - if err != nil { - return err - } - svc := cloudwatchlogs.New(sess) - - filterOptions := new(cloudwatchlogs.FilterLogEventsInput). - SetStartTime(startTs). // Inclusively both startTime and endTime - // SetEndTime(endTs). // Default nil? - // SetLimit(10000). // Default 10000 - SetLogGroupName(cw.LogGroupName). - SetFilterPattern("openReplaySessionToken") - //SetFilterPattern("asayer_session_id") - - for { - output, err := svc.FilterLogEvents(filterOptions) - if err != nil { - return err - } - for _, e := range output.Events { - if e.Message == nil || e.Timestamp == nil { - continue - } - if !reIsException.MatchString(*e.Message) { // too weak condition ? - continue - } - token, err := GetToken(*e.Message) - if err != nil { - c.errChan <- err - continue - } - name := "" - if e.LogStreamName != nil { - name = *e.LogStreamName - } - timestamp := uint64(*e.Timestamp) - c.requestData.SetLastMessageTimestamp(timestamp) - c.evChan <- &SessionErrorEvent{ - //SessionID: sessionID, - Token: token, - IntegrationEvent: &messages.IntegrationEvent{ - Source: "cloudwatch", - Timestamp: timestamp, // e.IngestionTime ?? - Name: name, - Payload: strings.ReplaceAll(e.String(), "\n", ""), - }, - } - } - - if output.NextToken == nil { - break - } - filterOptions.NextToken = output.NextToken - } - return nil -} diff --git a/backend/pkg/integrations/clients/datadog.go b/backend/pkg/integrations/clients/datadog.go index 868fdfde8..1c574695d 100644 --- a/backend/pkg/integrations/clients/datadog.go +++ b/backend/pkg/integrations/clients/datadog.go @@ -1,130 +1,79 @@ package clients import ( - "bytes" + "context" "encoding/json" "fmt" - "io" - "net/http" - "time" - "openreplay/backend/pkg/messages" + "github.com/DataDog/datadog-api-client-go/v2/api/datadog" + "github.com/DataDog/datadog-api-client-go/v2/api/datadogV2" ) -/* - We collect Logs. Datadog also has Events +type dataDogClient struct{} -*/ - -type datadog struct { - ApplicationKey string //`json:"application_key"` - ApiKey string //`json:"api_key"` +func NewDataDogClient() Client { + return &dataDogClient{} } -type datadogResponce struct { - Logs []json.RawMessage - NextLogId *string - Status string +type datadogConfig struct { + Site string `json:"site"` + ApiKey string `json:"api_key"` + AppKey string `json:"app_key"` } -type datadogLog struct { - Content struct { - Timestamp string - Message string - Attributes struct { - Error struct { // Not sure about this - Message string - } +func (d *dataDogClient) FetchSessionData(credentials interface{}, sessionID uint64) (interface{}, error) { + cfg, ok := credentials.(datadogConfig) + if !ok { + // Not a struct, will try to parse as JSON string + strCfg, ok := credentials.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("invalid credentials, got: %+v", credentials) + } + cfg = datadogConfig{} + if site, ok := strCfg["site"].(string); ok { + cfg.Site = site + } + if apiKey, ok := strCfg["api_key"].(string); ok { + cfg.ApiKey = apiKey + } + if appKey, ok := strCfg["app_key"].(string); ok { + cfg.AppKey = appKey } } -} - -func (d *datadog) makeRequest(nextLogId *string, fromTs uint64, toTs uint64) (*http.Request, error) { - requestURL := fmt.Sprintf( - "https://api.datadoghq.com/api/v1/logs-queries/list?api_key=%v&application_key=%v", - d.ApiKey, - d.ApplicationKey, - ) - startAt := "null" - if nextLogId != nil && *nextLogId != "" { - startAt = *nextLogId + body := datadogV2.LogsListRequest{ + Filter: &datadogV2.LogsQueryFilter{ + Indexes: []string{ + "main", + }, + }, + Sort: datadogV2.LOGSSORT_TIMESTAMP_ASCENDING.Ptr(), + Page: &datadogV2.LogsListRequestPage{ + Limit: datadog.PtrInt32(1), + }, } - // Query: status:error/info/warning? - // openReplaySessionToken instead of asayer_session_id - jsonBody := fmt.Sprintf(`{ - "limit": 1000, - "query": "status:error openReplaySessionToken", - "sort": "asc", - "time": { - "from": %v, - "to": %v - }, - "startAt": %v - }`, fromTs, toTs, startAt) // from/to: both inclusively, both required; limit: default=10, max 1000 - req, err := http.NewRequest("POST", requestURL, bytes.NewBuffer([]byte(jsonBody))) + if sessionID != 0 { + body.Filter.Query = datadog.PtrString(fmt.Sprintf("openReplaySession.id=%d", sessionID)) + body.Page.Limit = datadog.PtrInt32(1000) + } + ctx := context.WithValue(context.Background(), datadog.ContextServerVariables, map[string]string{"site": cfg.Site}) + ctx = context.WithValue(ctx, datadog.ContextAPIKeys, map[string]datadog.APIKey{ + "apiKeyAuth": {Key: cfg.ApiKey}, + "appKeyAuth": {Key: cfg.AppKey}, + }) + configuration := datadog.NewConfiguration() + apiClient := datadog.NewAPIClient(configuration) + api := datadogV2.NewLogsApi(apiClient) + resp, r, err := api.ListLogs(ctx, *datadogV2.NewListLogsOptionalParameters().WithBody(body)) + if err != nil { - return nil, err + fmt.Printf("error when calling `LogsApi.ListLogs`: %v", err) + fmt.Printf("full HTTP response: %v\n", r) } - req.Header.Add("Content-Type", "application/json") - return req, nil -} -func (d *datadog) Request(c *client) error { - fromTs := c.requestData.GetLastMessageTimestamp() + 1 // From next millisecond - toTs := uint64(time.Now().UnixMilli()) - var nextLogId *string - for { - req, err := d.makeRequest(nextLogId, fromTs, toTs) - if err != nil { - return err - } - resp, err := http.DefaultClient.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - if resp.StatusCode >= 400 { - io.Copy(io.Discard, resp.Body) // Read the body to free socket - return fmt.Errorf("Datadog: server respond with the code %v", resp.StatusCode) - } - var ddResp datadogResponce - if err = json.NewDecoder(resp.Body).Decode(&ddResp); err != nil { - return err - } - // if ddResp.Status != "done"/ "ok" - for _, jsonLog := range ddResp.Logs { - var ddLog datadogLog - err = json.Unmarshal(jsonLog, &ddLog) - if err != nil { - c.errChan <- err - continue - } - token, err := GetToken(ddLog.Content.Message) // sure here? - if err != nil { - c.errChan <- err - continue - } - parsedTime, err := time.Parse(time.RFC3339, ddLog.Content.Timestamp) - if err != nil { - c.errChan <- err - continue - } - timestamp := uint64(parsedTime.UnixMilli()) - c.requestData.SetLastMessageTimestamp(timestamp) - c.evChan <- &SessionErrorEvent{ - //SessionID: sessionID, - Token: token, - IntegrationEvent: &messages.IntegrationEvent{ - Source: "datadog", - Timestamp: timestamp, - Name: ddLog.Content.Attributes.Error.Message, - Payload: string(jsonLog), - }, - } - } - nextLogId = ddResp.NextLogId // ensure - if nextLogId == nil { - return nil - } + logs := resp.Data + if logs == nil || len(logs) == 0 { + return nil, fmt.Errorf("no logs found") } + responseContent, _ := json.Marshal(logs) + return responseContent, nil } diff --git a/backend/pkg/integrations/clients/datadog.json b/backend/pkg/integrations/clients/datadog.json deleted file mode 100644 index 3e56ef79a..000000000 --- a/backend/pkg/integrations/clients/datadog.json +++ /dev/null @@ -1,5872 +0,0 @@ -{ - "logs": [ - { - "id": "AQAAAXBULBWLl8WpFQAAAABBWEJVTEJvaG94Z0dJRTZSZzhDMg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "11c35a1c-e900-4463-8ae0-38e4d482743f" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278890000185259810132293709862379460665586328523243520", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]97e9c5eebb5a416d809333070664b4e2" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960140171 - }, - "message": "[WARNING]\t2020-02-17T17:22:20.171Z\t11c35a1c-e900-4463-8ae0-38e4d482743f\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960140, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"8a5e3540-99b0-4ff4-9251-ed86683b8f6d\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.132.29\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:22:20.171Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBULBWgyR0eOgAAAABBWEJVTEJvaEZ1QjAyaV9RRDNfXw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278890000653575459301436795861093828617443503873458182", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]97e9c5eebb5a416d809333070664b4e2" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960140192 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:22:20.192Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBULBYg4bYWMQAAAABBWEJVTEJvZ0dpZlQ0aDRaSVhEdQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "11c35a1c-e900-4463-8ae0-38e4d482743f" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278889997085456227536537093022009335760684577030864896", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]97e9c5eebb5a416d809333070664b4e2" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960140320 - }, - "message": "[WARNING]\t2020-02-17T17:22:20.32Z\t11c35a1c-e900-4463-8ae0-38e4d482743f\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960139, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"a9fc710d-b059-4197-9ab4-cc1cf5554742\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.132.29\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:22:20.320Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMEi00bMbLgAAAABBWEJVTUV6UHI0cVhDYjhkVkk5UQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "d6833386-c6ec-4121-a0a7-75630c46d06e" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896138264668998899538142086586326585235977160556544", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]50ee0782c850412baf8669ccccbcff36" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960415412 - }, - "message": "[WARNING]\t2020-02-17T17:26:55.412Z\td6833386-c6ec-4121-a0a7-75630c46d06e\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960415, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"519aae33-3dbd-4d3d-add1-39eb2adb322b\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.58.149\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:26:55.412Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMEk8yKqMtAAAAABBWEJVTUV6Tktsa3NEOXgyZmdVUQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "d6833386-c6ec-4121-a0a7-75630c46d06e" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896141297570345899702889454992321378994162079367168", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]50ee0782c850412baf8669ccccbcff36" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960415548 - }, - "message": "[WARNING]\t2020-02-17T17:26:55.548Z\td6833386-c6ec-4121-a0a7-75630c46d06e\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960415, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"6f902eb7-a029-4ea7-8ebd-d4b78c24801f\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.58.149\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:26:55.548Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMElFjNHk9gAAAABBWEJVTUlkNks4aGgtVElpdDI5VQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896141498277052686478515912613650029218075478982662", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]50ee0782c850412baf8669ccccbcff36" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960415557 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:26:55.557Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUME-zl3yDoQAAAABBWEJVTUZNeUlILU9OQUZlQ19TTA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "7b3643d0-7cdb-47e2-95d7-4b50a81b73cc" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896178205303649467884190699870991211539419286077440", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960417203 - }, - "message": "[WARNING]\t2020-02-17T17:26:57.203Z\t7b3643d0-7cdb-47e2-95d7-4b50a81b73cc\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960417, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"192bc729-f12c-4b47-a56c-1e5b55f39024\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.156.181\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:26:57.203Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUME_H4x4-5AAAAABBWEJVTUkxRnhjcTJuVmtlaG5uMw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896178651318553438496671709617928483581328236019718", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960417223 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:26:57.223Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMFHCgLwTewAAAABBWEJVTUZLOXhjcTJuVmtlZ21xRw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "7b3643d0-7cdb-47e2-95d7-4b50a81b73cc" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896175328507518857433805283507882367264624422486016", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960417730 - }, - "message": "[WARNING]\t2020-02-17T17:26:57.73Z\t7b3643d0-7cdb-47e2-95d7-4b50a81b73cc\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960416, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"c1270310-0a99-422f-8687-d2f38778ebf1\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.156.181\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:26:57.730Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMFKvqA16JgAAAABBWEJVTUZTajNRSnRDMlNoTmM1VQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "405fac3c-26c0-44ce-ac23-8b23dd3d00c9" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896195265373726343810894899563945991946747062255616", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960417967 - }, - "message": "[WARNING]\t2020-02-17T17:26:57.967Z\t405fac3c-26c0-44ce-ac23-8b23dd3d00c9\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960417, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"e7b249c7-6395-428c-89dd-d7b1974428ec\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:26:57.967Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMFNElXWtXQAAAABBWEJVTUpMQi05cEZWTHk1X0hzbA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896198565884015726343138186278237684871153284022278", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960418116 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:26:58.116Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMFakjzkgDAAAAABBWEJVTUZoRVcwSnJST1JvZ0Q2bg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "405fac3c-26c0-44ce-ac23-8b23dd3d00c9" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896198164470602152791903455511813556455727545778176", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960418980 - }, - "message": "[WARNING]\t2020-02-17T17:26:58.98Z\t405fac3c-26c0-44ce-ac23-8b23dd3d00c9\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960417, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"bcdf0537-0953-4473-863b-81953d733aec\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:26:58.980Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMGQUlXWtYQAAAABBWEJVTUpMQi05cEZWTHk1X0hzcg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "c9b5a3ab-75b0-491e-a5f0-2ef9f0269b5e" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896294570592095400675762497545401436067436529713162", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960422420 - }, - "message": "[WARNING]\t2020-02-17T17:27:02.420Z\tc9b5a3ab-75b0-491e-a5f0-2ef9f0269b5e\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960422, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"8e3d7259-9446-49e4-8179-9ec9ea65d4d4\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:27:02.420Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMGSWlXWtYgAAAABBWEJVTUpMQi05cEZWTHk1X0hzdA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "c9b5a3ab-75b0-491e-a5f0-2ef9f0269b5e" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896297447388226011126147755653058607706070801186827", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960422550 - }, - "message": "[WARNING]\t2020-02-17T17:27:02.550Z\tc9b5a3ab-75b0-491e-a5f0-2ef9f0269b5e\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960422, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"fceddc47-d4ea-4e06-b3df-a2a22c366318\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:27:02.550Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMGSalXWtaQAAAABBWEJVTUpNVy05cEZWTHk1X0lIRg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896297536591206805248640321795931698299516825108498", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960422554 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:27:02.554Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMG16lXWtbQAAAABBWEJVTUpNVy05cEZWTHk1X0lISg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "59da705c-55d2-46d7-9dda-e1b7661f73a1" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896348203884297866824417890947847155376858412613654", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960424826 - }, - "message": "[WARNING]\t2020-02-17T17:27:04.826Z\t59da705c-55d2-46d7-9dda-e1b7661f73a1\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960424, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"2aad2f43-c832-496f-83c8-cc086a06e326\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:27:04.826Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMG39lXWtbgAAAABBWEJVTUpNVy05cEZWTHk1X0lISw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "59da705c-55d2-46d7-9dda-e1b7661f73a1" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896351147582664072866672573662659144960577202028567", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960424957 - }, - "message": "[WARNING]\t2020-02-17T17:27:04.957Z\t59da705c-55d2-46d7-9dda-e1b7661f73a1\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960424, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"8da386d2-622c-4dc8-a133-616c152dd964\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:27:04.957Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMG4BlXWtdQAAAABBWEJVTUpNVy05cEZWTHk1X0lIUg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278896351214484899668458541998269813962905661719969822", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960424961 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:27:04.961Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMR6t1smdcgAAAABBWEJVTVNOZnZLemljMVVDbGJvOQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "5a1b4cc6-878d-416e-8259-5a94d0e06e14" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278897359832588738811482032167694712054978577644584960", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960470189 - }, - "message": "[WARNING]\t2020-02-17T17:27:50.189Z\t5a1b4cc6-878d-416e-8259-5a94d0e06e14\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960470, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"4ea6053f-fd03-426f-a7f6-b5630bf8c9e3\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:27:50.189Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMR8vu6RuTgAAAABBWEJVTVNOd2NFdmRyXzFZME50Qw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "5a1b4cc6-878d-416e-8259-5a94d0e06e14" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278897362753986359818993663864835055521603550992465920", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960470319 - }, - "message": "[WARNING]\t2020-02-17T17:27:50.319Z\t5a1b4cc6-878d-416e-8259-5a94d0e06e14\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960470, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"5ab5ac6b-381d-4fe5-948e-c5d6fd603cb1\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:27:50.319Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMR806NMarwAAAABBWEJVTVY0Wl8zT0VGeWk4bDljZw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278897362843189340613116174621582694999250842122452998", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960470324 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:27:50.324Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMSN16NMaswAAAABBWEJVTVY0Wl8zT0VGeWk4bDljbg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "3fe27da6-f95c-4c60-9970-178c61bc1487" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278897387151001607011495398895515612185964883641106442", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960471413 - }, - "message": "[WARNING]\t2020-02-17T17:27:51.413Z\t3fe27da6-f95c-4c60-9970-178c61bc1487\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960471, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"f02c730c-39da-4a82-9770-a17f663fc67c\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:27:51.413Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMSP16NMatAAAAABBWEJVTVY0YV8zT0VGeWk4bDljbw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "3fe27da6-f95c-4c60-9970-178c61bc1487" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278897389983196247224884537870551832812306794900619275", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960471541 - }, - "message": "[WARNING]\t2020-02-17T17:27:51.541Z\t3fe27da6-f95c-4c60-9970-178c61bc1487\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960471, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"f5587aed-55b0-40b9-8072-f9c426b1e517\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:27:51.541Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUMSP56NMauwAAAABBWEJVTVY1d18zT0VGeWk4bDk3Uw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278897390072399228019007030436694705902900240924540946", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960471545 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:27:51.545Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNCLuyM-cUAAAAABBWEJVTkNWRUlILU9OQUZlVTZMVA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "5487bd3e-cf82-4b04-b8f0-5cce5c995ce4" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278901768623012252720085483352034441644836427771936768", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960667886 - }, - "message": "[WARNING]\t2020-02-17T17:31:07.886Z\t5487bd3e-cf82-4b04-b8f0-5cce5c995ce4\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960667, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"d8f4cf02-c9be-42dc-8f35-69655f9b93c9\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:07.886Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNCNypWJ9ZgAAAABBWEJVTkdPQUlILU9OQUZlV2s0Yg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278901771566710618926127756383769161423429835543281670", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960668018 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:31:08.018Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNCPs22ufcQAAAABBWEJVTkNWVTItXy1jcjItRkpBZg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "5487bd3e-cf82-4b04-b8f0-5cce5c995ce4" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278901771477507638132005245624667790713457829453168640", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960668140 - }, - "message": "[WARNING]\t2020-02-17T17:31:08.14Z\t5487bd3e-cf82-4b04-b8f0-5cce5c995ce4\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960667, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"57358b83-61d4-4af0-a7e8-48554fde1739\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:08.140Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNCcjpWJ9agAAAABBWEJVTkdPQUlILU9OQUZlV2s0Zg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "6e18df97-ea8a-4864-b9f0-6c3bec495027" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278901792640914831537566625135022929076131458694774794", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960668963 - }, - "message": "[WARNING]\t2020-02-17T17:31:08.963Z\t6e18df97-ea8a-4864-b9f0-6c3bec495027\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960668, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"df286414-5824-41d6-98b0-7b5a215e95ce\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:08.963Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNCeopWJ9cgAAAABBWEJVTkdQV0lILU9OQUZlV2wzNg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278901795606913942942139502959273459338363538990170130", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960669096 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:31:09.096Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNCrgpWJ9awAAAABBWEJVTkdPQUlILU9OQUZlV2s0Zw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "6e18df97-ea8a-4864-b9f0-6c3bec495027" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278901795517710962148017010393130586247770092966248459", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960669920 - }, - "message": "[WARNING]\t2020-02-17T17:31:09.92Z\t6e18df97-ea8a-4864-b9f0-6c3bec495027\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960668, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"61e2e561-dd10-4ba4-b292-71b7b7c8b0ea\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:09.920Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNGR23CN23wAAAABBWEJVTkdmVm94Z0dJRTZSRHM4eA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a6647a21-5ebf-43a9-985b-55819e8c3370" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902142740313703269819326043482739780083425881489408", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960684662 - }, - "message": "[WARNING]\t2020-02-17T17:31:24.662Z\ta6647a21-5ebf-43a9-985b-55819e8c3370\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960684, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"7ce61a98-4cd0-4540-adc1-5f9556055e93\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:24.662Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNGT34KuMbAAAAABBWEJVTkdmWjdyclJnT2RTakk1Mg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a6647a21-5ebf-43a9-985b-55819e8c3370" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902145617109833880269711451561022249350734399537152", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960684791 - }, - "message": "[WARNING]\t2020-02-17T17:31:24.791Z\ta6647a21-5ebf-43a9-985b-55819e8c3370\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960684, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"877d3030-4b28-4278-bacc-5df530d6c279\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:24.791Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNGT6n4mgdgAAAABBWEJVTktKZlVreVN1OHh3aEdvRg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902145684012069475861599062201880745813945823789062", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960684794 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:31:24.794Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNGi2n4mgegAAAABBWEJVTktKZlVreVN1OHh3aEdvSg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "70e7665e-3e8a-4100-8d7b-c2cfd9dfc098" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902167025825224469667945511884267670295907047047178", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960685750 - }, - "message": "[WARNING]\t2020-02-17T17:31:25.750Z\t70e7665e-3e8a-4100-8d7b-c2cfd9dfc098\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960685, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"474a088a-22d6-4f0e-ac71-4421e4be8030\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:25.750Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNGk5n4mgewAAAABBWEJVTktKZlVreVN1OHh3aEdvSw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "70e7665e-3e8a-4100-8d7b-c2cfd9dfc098" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902169947222845477179577053063361387231264330481675", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960685881 - }, - "message": "[WARNING]\t2020-02-17T17:31:25.881Z\t70e7665e-3e8a-4100-8d7b-c2cfd9dfc098\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960685, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"3922c242-9f51-4cdc-9066-64b856bd9d0b\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:25.881Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNGk9n4mgggAAAABBWEJVTktLWlVreVN1OHh3aEczLQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902170014125081072771446477670516205176348848422930", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960685885 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:31:25.885Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNGw-n4mghgAAAABBWEJVTktLWlVreVN1OHh3aEc0Qw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "2c0fac29-89c4-414d-96e2-5a999c55c526" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902187163398138742820642318637867871766346947362838", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960686654 - }, - "message": "[WARNING]\t2020-02-17T17:31:26.654Z\t2c0fac29-89c4-414d-96e2-5a999c55c526\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960686, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"f3f4c8f0-9a78-4060-9577-3b1962edcbc5\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:26.654Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNGy_n4mghwAAAABBWEJVTktLWlVreVN1OHh3aEc0RA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "2c0fac29-89c4-414d-96e2-5a999c55c526" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902190040194269353271027576745525043404981218836503", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960686783 - }, - "message": "[WARNING]\t2020-02-17T17:31:26.783Z\t2c0fac29-89c4-414d-96e2-5a999c55c526\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960686, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"4a5723e0-e956-462d-9738-4062263b44d6\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:26.783Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNGzCn4mgjgAAAABBWEJVTktLblVreVN1OHh3aEc1bg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902190107096504948862897001352679861350065736777758", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960686786 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:31:26.786Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNHB1n4mgkgAAAABBWEJVTktLb1VreVN1OHh3aEc1cg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "e171a658-14fa-41f2-80aa-02bc4705329d" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902211225902207957363012035677884059348411900231714", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960687733 - }, - "message": "[WARNING]\t2020-02-17T17:31:27.733Z\te171a658-14fa-41f2-80aa-02bc4705329d\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960687, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"48b77e84-700a-4dee-8639-cd4afe7dd00b\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:27.733Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNHD1n4mgkwAAAABBWEJVTktLb1VreVN1OHh3aEc1cw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "e171a658-14fa-41f2-80aa-02bc4705329d" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902214080397593369282774152249822958338684665724963", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960687861 - }, - "message": "[WARNING]\t2020-02-17T17:31:27.861Z\te171a658-14fa-41f2-80aa-02bc4705329d\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960687, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"6db5919b-6228-416d-a2ce-75b51595528a\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:31:27.861Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNHD5n4mgmgAAAABBWEJVTktMeFVreVN1OHh3aEhKRA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278902214169600574163405266718392696048932130689646634", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960687865 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:31:27.865Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQlmlaiVYAAAAABBWEJVTlF3MS05cEZWTHk1VUZMNg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "67874f03-e0b1-4e9f-b628-33602f4ef355" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903084389279711225381528430218830756520936086700032", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960726886 - }, - "message": "[WARNING]\t2020-02-17T17:32:06.886Z\t67874f03-e0b1-4e9f-b628-33602f4ef355\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960726, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"fd33c89d-08b8-4ad7-89f2-9a270e2f10d6\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:06.886Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQnrw0TDugAAAABBWEJVTlVvdlBQSlBKbnd3SW9CUw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903087332978077431423801459328149603679600775987206", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727019 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:32:07.019Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQpNj67eEAAAAABBWEJVTlEzYzl0anJaNlJRY1BjYg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "6bec467f-525e-4fd3-bb19-193369e4f2a0" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903089518451106887424851263681094016809700641669120", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727117 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.117Z\t6bec467f-525e-4fd3-bb19-193369e4f2a0\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960726, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"35c84447-de1c-44f2-938c-d2d0246f4a22\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.156.181\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.117Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQpuz-5FhAAAAABBWEJVTlF3NXhjcTJuVmtlMTl1Zw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "67874f03-e0b1-4e9f-b628-33602f4ef355" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903087266075841835831913842593478981722380101943296", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727150 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.15Z\t67874f03-e0b1-4e9f-b628-33602f4ef355\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960726, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"d9769f59-3232-4548-8c27-db867307039e\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.150Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQrOvqYylwAAAABBWEJVTlEzZ0dpZlQ0aDRacU82Qg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "6bec467f-525e-4fd3-bb19-193369e4f2a0" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903092395247237497875236676678577550179676838428672", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727246 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.246Z\t6bec467f-525e-4fd3-bb19-193369e4f2a0\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960727, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"b815987f-fa94-44e8-9647-ebae1791414e\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.156.181\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.246Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQrS3yLW_wAAAABBWEJVTlVoaW94Z0dJRTZSSURqSQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903092484450218291997747421221452898216837860098054", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727250 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:32:07.250Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQrrrM7NJwAAAABBWEJVTlFfQzdyclJnT2RTbElyRQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "bb2b579b-4f4d-484e-b08e-29e17b41b389" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903093041968848255263307815966294289455569020846080", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]50ee0782c850412baf8669ccccbcff36" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727275 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.275Z\tbb2b579b-4f4d-484e-b08e-29e17b41b389\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960727, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"fc6da1be-ee18-4f1b-b9e9-4bc06e3bf91a\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.58.149\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.275Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQsuw0TDvgAAAABBWEJVTlVvdlBQSlBKbnd3SW9CVw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "5c5749e2-8959-4bab-8d97-cd4f1d3c12fb" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903094536118776556815076175365151669100367207661578", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727342 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.342Z\t5c5749e2-8959-4bab-8d97-cd4f1d3c12fb\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960727, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"32ac8078-961e-4b95-889f-61ba1b2d84e3\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.342Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQtx9w7ygwAAAABBWEJVTlFfRXJVUGwtQmU5UUR3Nw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "bb2b579b-4f4d-484e-b08e-29e17b41b389" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903096030268704858366808944078066657618964372586496", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]50ee0782c850412baf8669ccccbcff36" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727409 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.409Z\tbb2b579b-4f4d-484e-b08e-29e17b41b389\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960727, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"6e93e834-ae54-470f-9245-6abb9df4b093\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.58.149\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.409Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQt1vb2wLgAAAABBWEJVTlVwWUMwTmF2TjVhbmdYbw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903096119471685652489319685297484637549112435671046", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]50ee0782c850412baf8669ccccbcff36" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727413 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:32:07.413Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQvAw0TDvwAAAABBWEJVTlVvdlBQSlBKbnd3SW9CWA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "5c5749e2-8959-4bab-8d97-cd4f1d3c12fb" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903097814328320740816677981115737748409508586782731", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727488 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.488Z\t5c5749e2-8959-4bab-8d97-cd4f1d3c12fb\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960727, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"ded8e07f-5514-45e0-a892-e2e18681fb85\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.488Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQvC3yLXAwAAAABBWEJVTlVoaW94Z0dJRTZSSURqTQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "3d7ada38-cde5-46ba-866a-dbbea6393f46" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903097836629065939347301389793838333823599295397898", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727490 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.490Z\t3d7ada38-cde5-46ba-866a-dbbea6393f46\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960727, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"28e24935-52af-4938-9ac5-7e1a7a9a4fbc\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.156.181\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.490Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQvEw0TDxgAAAABBWEJVTlVwMlBQSlBKbnd3SW9PTQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903097881230556336408547405722892566354593104723986", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727492 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:32:07.492Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQxF3yLXBAAAAABBWEJVTlVoaW94Z0dJRTZSSURqTg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "3d7ada38-cde5-46ba-866a-dbbea6393f46" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903100758026686946858932930972932050758956578832395", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727621 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.621Z\t3d7ada38-cde5-46ba-866a-dbbea6393f46\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960727, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"b9f214a1-77d8-4c81-9742-29600cb67393\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.156.181\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.621Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQxJ3yLXCwAAAABBWEJVTlVpM294Z0dJRTZSSUVMcA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903100847229667740981425497115805141352402602754066", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727625 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:32:07.625Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQyvw0TDygAAAABBWEJVTlVwMlBQSlBKbnd3SW9PUQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "9f65476e-e445-4728-aa6d-e0ab88fcd3d9" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903103121905677991104985666616686638719547010121750", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727727 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.727Z\t9f65476e-e445-4728-aa6d-e0ab88fcd3d9\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960727, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"7b89fb30-6309-4311-9240-4d6bcc932407\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.727Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQ0uw0TDywAAAABBWEJVTlVwMlBQSlBKbnd3SW9PUg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "9f65476e-e445-4728-aa6d-e0ab88fcd3d9" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903105954100318204494124641652907265061458269634583", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727854 - }, - "message": "[WARNING]\t2020-02-17T17:32:07.854Z\t9f65476e-e445-4728-aa6d-e0ab88fcd3d9\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960727, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"8a163336-8ef9-4f01-a743-cc6a47727384\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:07.854Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNQ0ww0TD0gAAAABBWEJVTlVxRVBQSlBKbnd3SW9ScA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903105998701808601555370924724343810358181281595422", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960727856 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:32:07.856Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNRDAw0TD1gAAAABBWEJVTlVxRVBQSlBKbnd3SW9SdA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "ef1fa9b5-f63b-4fc1-a398-3f34b34efdfa" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903126336981429661483676005299408465663874735734818", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960728768 - }, - "message": "[WARNING]\t2020-02-17T17:32:08.768Z\tef1fa9b5-f63b-4fc1-a398-3f34b34efdfa\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960728, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"ab727ab3-1d02-43da-80e1-f1bf9926f1fd\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:08.768Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNRE_w0TD1wAAAABBWEJVTlVxRVBQSlBKbnd3SW9SdQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "ef1fa9b5-f63b-4fc1-a398-3f34b34efdfa" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903129169176069874872814980335629092005785995247651", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960728895 - }, - "message": "[WARNING]\t2020-02-17T17:32:08.895Z\tef1fa9b5-f63b-4fc1-a398-3f34b34efdfa\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960728, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"23c7c474-b128-4463-9f36-55d03b28ea27\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:08.895Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNRFDw0TD3gAAAABBWEJVTlVyTVBQSlBKbnd3SW9neQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903129258379050668995307546478502182599232019169322", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960728899 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:32:08.899Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNRRK9Ott3gAAAABBWEJVTlJnakZZNkduTFVZdldBVw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "f0a94b5c-0262-4381-8698-0ccf71c3b9d8" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903146541456579530228227261681532271304742861012992", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960729674 - }, - "message": "[WARNING]\t2020-02-17T17:32:09.674Z\tf0a94b5c-0262-4381-8698-0ccf71c3b9d8\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960729, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"67e13aa1-27c7-4059-b9bc-97727b2498ea\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:09.674Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNRTM7G9g3wAAAABBWEJVTlJnM3IwZ29yZHV3TlA0Zg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "f0a94b5c-0262-4381-8698-0ccf71c3b9d8" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903149440553455339209235818321002943580325726322688", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960729804 - }, - "message": "[WARNING]\t2020-02-17T17:32:09.804Z\tf0a94b5c-0262-4381-8698-0ccf71c3b9d8\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960729, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"6a3af199-ec6a-4042-a08f-e1ab7aa83b39\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:09.804Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNRTewDstQQAAAABBWEJVTlZMTnZLemljMVVDMDh1YQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903149841966868912760470543678724895583585183596550", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960729822 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:32:09.822Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNRduwDstRQAAAABBWEJVTlZMTnZLemljMVVDMDh1Ng", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "25d80dda-deff-4cef-b008-ef45036e64fa" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903164471255719148849251391109911752908733106749450", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960730478 - }, - "message": "[WARNING]\t2020-02-17T17:32:10.478Z\t25d80dda-deff-4cef-b008-ef45036e64fa\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960730, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"beb8e286-6f39-4c64-814d-23df622c0803\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": null}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:10.478Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNRf2wDstRgAAAABBWEJVTlZMTnZLemljMVVDMDh2Qg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "25d80dda-deff-4cef-b008-ef45036e64fa" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903167504157066149013998639967596833085897920086027", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960730614 - }, - "message": "[WARNING]\t2020-02-17T17:32:10.614Z\t25d80dda-deff-4cef-b008-ef45036e64fa\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960730, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"85899303-158a-42ae-a345-1ab4e32212d7\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:32:10.614Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUNRf6wDstTQAAAABBWEJVTlZNanZLemljMVVDMDg0cg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278903167593360046943136491206110469923679343944007698", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960730618 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:32:10.618Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOJMfxGqrEQAAAABBWEJVT0piSUZ1QjAyaV9Rei1aYg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "eef068a9-69e0-4353-b799-25f83fb7cae0" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908255129264423329785897774472633258025408685998080", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960958751 - }, - "message": "[WARNING]\t2020-02-17T17:35:58.751Z\teef068a9-69e0-4353-b799-25f83fb7cae0\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960958, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"fe4e06c1-0f82-48d1-8bc0-39b27c47301c\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:35:58.751Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOJOggq4iGAAAAABBWEJVT0piYWVJNUlYNjZoUzJSZA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "eef068a9-69e0-4353-b799-25f83fb7cae0" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908258006060553940236283188155145220915591948730368", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960958880 - }, - "message": "[WARNING]\t2020-02-17T17:35:58.880Z\teef068a9-69e0-4353-b799-25f83fb7cae0\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960958, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"eb77fcbd-c605-4d14-b109-08efed46810d\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:35:58.880Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOJOkhBrL7gAAAABBWEJVT05HUEtsa3NEOXgyLUZfdA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908258095263534734358793953323969076966814257446918", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960958884 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:35:58.884Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOJ1GhBrL8gAAAABBWEJVT05HUUtsa3NEOXgyLUZfeA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a505c6d0-04e8-4408-86cf-479cb338c8b7" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908313088901194310875460980405229427826288005152778", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960961350 - }, - "message": "[WARNING]\t2020-02-17T17:36:01.350Z\ta505c6d0-04e8-4408-86cf-479cb338c8b7\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960961, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"1a7ec240-5523-4a27-a943-2aa113337c5b\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:01.350Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOJ3ThBrL8wAAAABBWEJVT05HUUtsa3NEOXgyLUZfeQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a505c6d0-04e8-4408-86cf-479cb338c8b7" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908316233306267303693323936941505871245260348391435", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960961491 - }, - "message": "[WARNING]\t2020-02-17T17:36:01.491Z\ta505c6d0-04e8-4408-86cf-479cb338c8b7\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960961, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"6bf0ebc9-7e41-4156-b67c-c2c1dd4889ec\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:01.491Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOJ3XhBrL-gAAAABBWEJVT05Ibktsa3NEOXgyLUdKNg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908316322509248097815816503084378961838706372313106", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960961495 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:01.495Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOKDshBrL_gAAAABBWEJVT05Ibktsa3NEOXgyLUdKLQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "1672c893-9b37-4117-8d8e-8bc3d9178fc4" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908333917797209738477475174766096081395934590861334", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960962284 - }, - "message": "[WARNING]\t2020-02-17T17:36:02.284Z\t1672c893-9b37-4117-8d8e-8bc3d9178fc4\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960962, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"51f5ad37-22d9-4721-bfbe-60fe9e3a2a71\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:02.284Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOKFuhBrL_wAAAABBWEJVT05Ibktsa3NEOXgyLUdKXw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "1672c893-9b37-4117-8d8e-8bc3d9178fc4" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908336839194830745989106715945189798331291874295831", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960962414 - }, - "message": "[WARNING]\t2020-02-17T17:36:02.414Z\t1672c893-9b37-4117-8d8e-8bc3d9178fc4\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960962, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"0979d67b-caba-4b28-a2c3-6436bef953ba\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:02.414Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOKFyhBrMBgAAAABBWEJVT05Ibktsa3NEOXgyLUdLRw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908336906097066341580976140552344616276376392237086", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960962418 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:02.418Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOKQmhBrMCgAAAABBWEJVT05Ibktsa3NEOXgyLUdLSw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a4bf78e3-56e7-4e7c-a60b-2f73fb3e77fe" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908352338212743724772190083269389288942538530684962", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960963110 - }, - "message": "[WARNING]\t2020-02-17T17:36:03.110Z\ta4bf78e3-56e7-4e7c-a60b-2f73fb3e77fe\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960962, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"dfdd4aa5-3be8-4209-bcd4-8a0bcd197039\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:03.110Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOKS_hBrMCwAAAABBWEJVT05Ibktsa3NEOXgyLUdLTA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a4bf78e3-56e7-4e7c-a60b-2f73fb3e77fe" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908355750226759099957530738234285004141848945688611", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960963263 - }, - "message": "[WARNING]\t2020-02-17T17:36:03.263Z\ta4bf78e3-56e7-4e7c-a60b-2f73fb3e77fe\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960963, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"e05fbc83-3093-4edc-bda9-106e0b697ee4\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:03.263Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOKTUhBrMEgAAAABBWEJVT05JOEtsa3NEOXgyLUdVZg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908356218542408269100616710484368729757440571277354", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960963284 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:03.284Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOKkFhBrMFgAAAABBWEJVT05JOEtsa3NEOXgyLUdVag", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "30a51b11-730d-4d57-aaf6-142de8e731cf" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908380147242006292459247578310075281449336488263726", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960964357 - }, - "message": "[WARNING]\t2020-02-17T17:36:04.357Z\t30a51b11-730d-4d57-aaf6-142de8e731cf\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960964, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"da95be65-29c8-49ac-8b76-0318f89ccd29\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:04.357Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOKmIhBrMFwAAAABBWEJVT05JOEtsa3NEOXgyLUdVaw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "30a51b11-730d-4d57-aaf6-142de8e731cf" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908383068639627299970879119489168998384693771698223", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960964488 - }, - "message": "[WARNING]\t2020-02-17T17:36:04.488Z\t30a51b11-730d-4d57-aaf6-142de8e731cf\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960964, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"8f733e32-1a96-47b4-ab78-0941e55c97ed\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:04.488Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOKmMhBrMHgAAAABBWEJVT05JOUtsa3NEOXgyLUdVcg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908383157842608094093371685632042088978139795619894", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960964492 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:04.492Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOK0EhBrMIgAAAABBWEJVT05JOUtsa3NEOXgyLUdVdg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "2785e5fc-7425-4a13-802b-200d8a1f1ed0" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908402960904344389286721369349868200723157106229306", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960965380 - }, - "message": "[WARNING]\t2020-02-17T17:36:05.380Z\t2785e5fc-7425-4a13-802b-200d8a1f1ed0\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960965, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"cf85daf6-5583-4ca2-b38e-310a7783bd17\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:05.380Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOK2YhBrMIwAAAABBWEJVT05JOUtsa3NEOXgyLUdVdw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "2785e5fc-7425-4a13-802b-200d8a1f1ed0" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908406283715378970349569458171890825329021497311291", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960965528 - }, - "message": "[WARNING]\t2020-02-17T17:36:05.528Z\t2785e5fc-7425-4a13-802b-200d8a1f1ed0\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960965, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"c3fb7c50-984b-4673-8c8b-bd112ce658e4\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:05.528Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOK2chBrMKgAAAABBWEJVT05JOUtsa3NEOXgyLUdVMw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908406350617614565941438882779045643274106015252546", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960965532 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:05.532Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOK_3hBrMLgAAAABBWEJVT05JOUtsa3NEOXgyLUdVNw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "2476dc61-55f5-42db-92ce-3f6298287e04" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908419797966969279907193228817164050236094121443398", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960966135 - }, - "message": "[WARNING]\t2020-02-17T17:36:06.135Z\t2476dc61-55f5-42db-92ce-3f6298287e04\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960966, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"40c2191b-252c-4ee9-a457-d000d751cd4b\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:06.135Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLCDhBrMLwAAAABBWEJVT05JOUtsa3NEOXgyLUdWQQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "2476dc61-55f5-42db-92ce-3f6298287e04" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908422920071297074194433043817722221006704958701639", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960966275 - }, - "message": "[WARNING]\t2020-02-17T17:36:06.275Z\t2476dc61-55f5-42db-92ce-3f6298287e04\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960966, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"8b7bed24-1d14-45ac-a7dc-e5be445bfb11\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:06.275Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLCHhBrMNgAAAABBWEJVT05JOUtsa3NEOXgyLUdWSA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908423009274277868316925609960595311600150982623310", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960966279 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:06.279Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLLIhBrMOgAAAABBWEJVT05JOUtsa3NEOXgyLUdWTA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "ef3338af-7d50-4b8b-bcb9-3466c90f88ac" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908435899105002619017101417605756902353101439303762", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960966856 - }, - "message": "[WARNING]\t2020-02-17T17:36:06.856Z\tef3338af-7d50-4b8b-bcb9-3466c90f88ac\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960966, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"0574a9b2-ecf0-4cbf-8760-cc68a626f91c\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:06.856Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLNOhBrMOwAAAABBWEJVT05JOUtsa3NEOXgyLUdWTQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "ef3338af-7d50-4b8b-bcb9-3466c90f88ac" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908438865104114023589979241856287164585181734699091", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960966990 - }, - "message": "[WARNING]\t2020-02-17T17:36:06.990Z\tef3338af-7d50-4b8b-bcb9-3466c90f88ac\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960966, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"4a578477-9770-4860-9c69-046edf6774eb\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:06.990Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLNRhBrMQgAAAABBWEJVT05JLUtsa3NEOXgyLUdWVA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908438932006349619181848666463441982530266252640346", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960966993 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:06.993Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLYAhBrMRgAAAABBWEJVT05LVEtsa3NEOXgyLUd0aQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "b22f7fc3-afd5-4998-b9fd-debf2c1d6426" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908454252618301009719946901501895291954620861186142", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960967680 - }, - "message": "[WARNING]\t2020-02-17T17:36:07.680Z\tb22f7fc3-afd5-4998-b9fd-debf2c1d6426\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960967, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"23ec9a21-2284-4d00-ad18-e79d344f95a1\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:07.680Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLaEhBrMRwAAAABBWEJVT05LVEtsa3NEOXgyLUd0ag", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "b22f7fc3-afd5-4998-b9fd-debf2c1d6426" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908457218617412414292824725752425554186701156581471", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960967812 - }, - "message": "[WARNING]\t2020-02-17T17:36:07.812Z\tb22f7fc3-afd5-4998-b9fd-debf2c1d6426\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960967, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"4b3ed9dc-bf83-4ac9-8fa6-2a7ed077ca68\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:07.812Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLaIhBrMTgAAAABBWEJVT05LVEtsa3NEOXgyLUd0cQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908457285519648009884694150359580372131785674522726", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960967816 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:07.816Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLiihBrMUgAAAABBWEJVT05LVEtsa3NEOXgyLUd0dQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "f9ec4c54-1196-4e94-b197-39c83356dfe2" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908469283320564819359944296576011056950275891986538", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960968354 - }, - "message": "[WARNING]\t2020-02-17T17:36:08.354Z\tf9ec4c54-1196-4e94-b197-39c83356dfe2\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960968, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"4e297723-bede-48a5-97ae-3d196ec1e078\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:08.354Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLknhBrMUwAAAABBWEJVT05LVEtsa3NEOXgyLUd0dg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "f9ec4c54-1196-4e94-b197-39c83356dfe2" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908472249319676223932822120826541319182356187381867", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960968487 - }, - "message": "[WARNING]\t2020-02-17T17:36:08.487Z\tf9ec4c54-1196-4e94-b197-39c83356dfe2\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960968, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"aebdd4d5-b62c-4378-bf92-510918e1d342\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:08.487Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLkqhBrMWgAAAABBWEJVT05LVEtsa3NEOXgyLUd0Mg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908472316221911819524691545433696137127440705323122", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960968490 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:08.490Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLoS_FFALgAAAABBWEJVT0wweVBXVmVPMHZHM1pWWQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "231a6ce9-4430-43b8-9948-2451a2787e0c" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908477489994797878629254081216553800615680367722496", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960968722 - }, - "message": "[WARNING]\t2020-02-17T17:36:08.722Z\t231a6ce9-4430-43b8-9948-2451a2787e0c\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960968, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"805b963d-108c-47b8-a59b-389de543d374\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:08.722Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLrE21bwqgAAAABBWEJVT0wwNmVKSDRac044OGhTZA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "231a6ce9-4430-43b8-9948-2451a2787e0c" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908481481828188415610796632575563726304965251235840", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960968900 - }, - "message": "[WARNING]\t2020-02-17T17:36:08.900Z\t231a6ce9-4430-43b8-9948-2451a2787e0c\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960968, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"217daee4-17a2-408c-ade5-0b35a40170a4\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:08.900Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLrJyu3ABgAAAABBWEJVT1BmY3IwZ29yZHV3YXBmWA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908481571031169209733307518347467946127302039240710", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960968905 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:08.905Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLrmhBrMXgAAAABBWEJVT05LVEtsa3NEOXgyLUd0Ng", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a211efb2-2b69-4205-a70b-8d2bdb9b79f1" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908482217752779967121366387292609192999949360627830", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960968934 - }, - "message": "[WARNING]\t2020-02-17T17:36:08.934Z\ta211efb2-2b69-4205-a70b-8d2bdb9b79f1\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960968, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"267070d3-3523-4b12-91e6-69c532b3de1b\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:08.934Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLuZhBrMXwAAAABBWEJVT05LVEtsa3NEOXgyLUd0Nw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a211efb2-2b69-4205-a70b-8d2bdb9b79f1" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908486209586170504102908722186179997056658931122295", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960969113 - }, - "message": "[WARNING]\t2020-02-17T17:36:09.113Z\ta211efb2-2b69-4205-a70b-8d2bdb9b79f1\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960968, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"33cdbdf7-3e71-48bf-95b1-6a868482d55e\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.47.125\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:09.113Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLudhBrMZgAAAABBWEJVT05LVEtsa3NEOXgyLUd1Qw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908486298789151298225401288329053087650104955043966", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]047e2fde7d1d485a8bd1c83ab1b9d092" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960969117 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:09.117Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLu6viMsdAAAAABBWEJVT0w5U2JMczZ2SHB2TnZBQg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "aa3ee2be-6c6e-467e-9648-bbd2b4d80044" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908486967811507254144089748626025618352092354969600", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960969146 - }, - "message": "[WARNING]\t2020-02-17T17:36:09.146Z\taa3ee2be-6c6e-467e-9648-bbd2b4d80044\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960968, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"b26b1485-00a0-4b1f-aa7b-5d0ac63f0e80\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.156.181\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:09.146Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLxgtra0xQAAAABBWEJVT0w5TmxTUEpvVEJ6S1pRTQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "aa3ee2be-6c6e-467e-9648-bbd2b4d80044" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908490669735210210227531444074079999332572630155264", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960969312 - }, - "message": "[WARNING]\t2020-02-17T17:36:09.312Z\taa3ee2be-6c6e-467e-9648-bbd2b4d80044\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960969, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"0aa2a936-5389-4b68-b476-3a64add59653\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.156.181\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:09.312Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLxoyu3ACgAAAABBWEJVT1BmY3IwZ29yZHV3YXBmYg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "7c15c225-32d9-4211-8e93-395149064a60" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908490825840426599941911255670551095197327021113354", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960969320 - }, - "message": "[WARNING]\t2020-02-17T17:36:09.320Z\t7c15c225-32d9-4211-8e93-395149064a60\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960969, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"d46ca0ad-c4fb-4e16-989d-95d2fb730cd9\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:09.320Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLxvlHYv2AAAAABBWEJVT1BvV0w0VXlVekd5TVRHQQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908490981945642989656273598297963671299138546499590", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]ffe40bac5a41429ab760ae80fcb0d598" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960969327 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:09.327Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOLz9yu3ACwAAAABBWEJVT1BmY3IwZ29yZHV3YXBmYw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "7c15c225-32d9-4211-8e93-395149064a60" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908494148651461181004759344492573719803191412195339", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960969469 - }, - "message": "[WARNING]\t2020-02-17T17:36:09.469Z\t7c15c225-32d9-4211-8e93-395149064a60\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960969, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"05e8d7a3-f16d-4d37-803e-b92f9f6a2155\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:09.469Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOL0Byu3AEgAAAABBWEJVT1BneXIwZ29yZHV3YXB3Rg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908494237854441975127251910635446810396637436117010", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960969473 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:09.473Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOMF-yu3AFgAAAABBWEJVT1BneXIwZ29yZHV3YXB3Sg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "06b22657-b44f-46ba-a937-e86a359f7217" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908519861410675086813241535175742083364007807614998", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960970622 - }, - "message": "[WARNING]\t2020-02-17T17:36:10.622Z\t06b22657-b44f-46ba-a937-e86a359f7217\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960970, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"3bde7812-be3e-443e-ad02-706565984ebc\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:10.622Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOMIiyu3AFwAAAABBWEJVT1BneXIwZ29yZHV3YXB3Sw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "06b22657-b44f-46ba-a937-e86a359f7217" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908523518732887645835436747033538797695294788403223", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960970786 - }, - "message": "[WARNING]\t2020-02-17T17:36:10.786Z\t06b22657-b44f-46ba-a937-e86a359f7217\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960970, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"aa6559a3-671c-4b85-9311-7d44fff947d2\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:10.786Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOMIlyu3AHgAAAABBWEJVT1BneXIwZ29yZHV3YXB3Ug", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908523585635123241427306171640693615640379306344478", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960970789 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:10.789Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOMUpyu3AIgAAAABBWEJVT1BneXIwZ29yZHV3YXB3Vg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "d0eb19c7-9814-4939-b13f-54352e571c08" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908540801810416507068371437215200100175461923225634", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960971561 - }, - "message": "[WARNING]\t2020-02-17T17:36:11.561Z\td0eb19c7-9814-4939-b13f-54352e571c08\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960971, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"22aad693-3e5d-4d6f-b217-24263e260885\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:11.561Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOMXLyu3AIwAAAABBWEJVT1BneXIwZ29yZHV3YXB3Vw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "d0eb19c7-9814-4939-b13f-54352e571c08" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908544436831883867559943507537278541858387398033443", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960971723 - }, - "message": "[WARNING]\t2020-02-17T17:36:11.723Z\td0eb19c7-9814-4939-b13f-54352e571c08\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960971, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"975ffcf3-7338-4f9a-b16e-9b71e12de722\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:11.723Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOMXPyu3AKgAAAABBWEJVT1BpSXIwZ29yZHV3YXA0cw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908544503734119463151812932144433359803471915974698", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960971727 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:11.727Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUORKnlTMrRgAAAABBWEJVT1JjR1BQSlBKbnd3VnRUWQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "6f509c34-f3c6-4dc1-8586-c256d6cef774" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908983203993664957570262125571774491122468805345280", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960991399 - }, - "message": "[WARNING]\t2020-02-17T17:36:31.399Z\t6f509c34-f3c6-4dc1-8586-c256d6cef774\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960991, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"2b3d4ff2-a01e-46cd-a16c-3c7d0b359a6a\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:31.399Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUORM60Yur1QAAAABBWEJVT1ZJczR4YWdPZVNQQmJ1Uw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "6f509c34-f3c6-4dc1-8586-c256d6cef774" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908986482203209141571882117243534990773199914860599", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960991546 - }, - "message": "[WARNING]\t2020-02-17T17:36:31.546Z\t6f509c34-f3c6-4dc1-8586-c256d6cef774\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960991, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"9ea64451-e4ef-482d-b671-b9a1dcf87d31\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:31.546Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUORM-0Yur3AAAAABBWEJVT1ZJczR4YWdPZVNQQmJ1Wg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278908986571406189935694374683386408081366645938782270", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960991550 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:31.550Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUORcL0Yur4AAAAABBWEJVT1ZJczR4YWdPZVNQQmJ1ZA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "f601dda1-7089-4d37-801a-9599eb47b3a6" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909008270031268105990691397640287368222391257727042", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960992523 - }, - "message": "[WARNING]\t2020-02-17T17:36:32.523Z\tf601dda1-7089-4d37-801a-9599eb47b3a6\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960992, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"b3c84741-3ff6-40e0-83eb-37872275c7e1\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:32.523Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOReL0Yur4QAAAABBWEJVT1ZJczR4YWdPZVNQQmJ1bA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "f601dda1-7089-4d37-801a-9599eb47b3a6" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909011124526653517910453514212226267212664023220291", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960992651 - }, - "message": "[WARNING]\t2020-02-17T17:36:32.651Z\tf601dda1-7089-4d37-801a-9599eb47b3a6\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960992, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"0872684c-a6a3-498f-8ba3-a4a7fcbe6648\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:32.651Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOReO0Yur6AAAAABBWEJVT1ZJczR4YWdPZVNQQmJ2RQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909011191428889113502322938819381085157748541161546", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960992654 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:32.654Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUORvR0Yur7AAAAABBWEJVT1ZJczR4YWdPZVNQQmJ2SQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "4b0ccb2e-bba2-4de3-b804-5c8d3ed35cf0" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909035521541900710412170354288016544520151565795406", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960993745 - }, - "message": "[WARNING]\t2020-02-17T17:36:33.745Z\t4b0ccb2e-bba2-4de3-b804-5c8d3ed35cf0\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960993, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"956ed261-8d2e-4ec4-960d-ccdcad5780b8\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:33.745Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUORxQ0Yur7QAAAABBWEJVT1ZJczR4YWdPZVNQQmJ2Sg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "4b0ccb2e-bba2-4de3-b804-5c8d3ed35cf0" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909038353736540923801309329324237170862062825308239", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960993872 - }, - "message": "[WARNING]\t2020-02-17T17:36:33.872Z\t4b0ccb2e-bba2-4de3-b804-5c8d3ed35cf0\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960993, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"fbb003f6-2870-4063-b248-cbbebb56e25c\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:33.872Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUORxT0Yur9AAAAABBWEJVT1ZJczR4YWdPZVNQQmJ2UQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909038420638776519393178753931391988807147343249494", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960993875 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:33.875Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOR-P0Yur-AAAAABBWEJVT1ZJczR4YWdPZVNQQmJ2VQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "97e1d0bc-451b-4dc0-9e50-5dc7d4d17d1e" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909056907956546101279763087041840014298835801014362", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960994703 - }, - "message": "[WARNING]\t2020-02-17T17:36:34.703Z\t97e1d0bc-451b-4dc0-9e50-5dc7d4d17d1e\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960994, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"0160ce58-2c7b-4554-a728-6ed668e07664\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:34.703Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOSAP0Yur-QAAAABBWEJVT1ZKVjR4YWdPZVNQQmJfOA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "97e1d0bc-451b-4dc0-9e50-5dc7d4d17d1e" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909059762451931513199525203613778913289108566507611", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960994831 - }, - "message": "[WARNING]\t2020-02-17T17:36:34.831Z\t97e1d0bc-451b-4dc0-9e50-5dc7d4d17d1e\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960994, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"1e0bcf94-fdbc-493f-8179-3c367aca12f9\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:34.831Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOSAT0YusAAAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXVA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909059829354167108791394628220933731234193084448866", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960994835 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:34.835Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOSNj0YusBAAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXWA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a715559f-75ef-42ca-8b17-f9281e2ba17a" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909078740386095462759818650510028937044750155841638", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960995683 - }, - "message": "[WARNING]\t2020-02-17T17:36:35.683Z\ta715559f-75ef-42ca-8b17-f9281e2ba17a\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960995, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"04aea8a8-99ac-4254-b7a5-db5fc4db3d3b\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:35.683Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOSPi0YusBQAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXWQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a715559f-75ef-42ca-8b17-f9281e2ba17a" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909081572580735676148957625546249563386661415354471", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960995810 - }, - "message": "[WARNING]\t2020-02-17T17:36:35.810Z\ta715559f-75ef-42ca-8b17-f9281e2ba17a\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960995, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"72367b23-c8ea-43dd-8f58-1e3b97b7030b\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:35.810Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOSPq0YusDAAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXZg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909081750986697264393942757831995744573553463197806", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960995818 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:35.818Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOSc90YusEAAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXag", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "435b84a2-87aa-43e0-b43b-0e2fc665fc32" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909100728920861213954236204728245768329195052531826", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960996669 - }, - "message": "[WARNING]\t2020-02-17T17:36:36.669Z\t435b84a2-87aa-43e0-b43b-0e2fc665fc32\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960996, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"40947a47-7d0c-48d6-bedf-3765e37ef1e3\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:36.669Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOSfF0YusEQAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXaw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "435b84a2-87aa-43e0-b43b-0e2fc665fc32" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909103784122953412649606595121649121154721371848819", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960996805 - }, - "message": "[WARNING]\t2020-02-17T17:36:36.805Z\t435b84a2-87aa-43e0-b43b-0e2fc665fc32\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960996, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"78099195-41f3-4e26-8af4-d27b15b7840a\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:36.805Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOSfJ0YusGAAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXcg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909103851025189008241476019728803939099805889790074", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960996809 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:36.809Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOTKh0YusHAAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXdg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "31e2c600-7c32-4258-94d5-ed98d8e47e3d" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909165757893860129251316922882728810951346491424894", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960999585 - }, - "message": "[WARNING]\t2020-02-17T17:36:39.585Z\t31e2c600-7c32-4258-94d5-ed98d8e47e3d\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960999, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"49b5d5c1-13d6-44fb-b7c9-e1a9f64edbd1\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:39.585Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOTMi0YusHQAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXdw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "31e2c600-7c32-4258-94d5-ed98d8e47e3d" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909168634689990739701702180990385982589980762898559", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960999714 - }, - "message": "[WARNING]\t2020-02-17T17:36:39.714Z\t31e2c600-7c32-4258-94d5-ed98d8e47e3d\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581960999, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"66a2e4b9-9622-45a1-a27c-d335492c9328\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:36:39.714Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOTMm0YusJAAAAABBWEJVT1ZLQzR4YWdPZVNQQmNXMw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278909168723892971533824194747133259073183426786820230", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581960999718 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:36:39.718Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOjK47CjJHQAAAABBWEJVT25LaU5VNGJ4LUE3NUdDVw", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "c7f4482d-c43d-4997-a3b7-3dad41886604" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910627794749075796904565143397822812163733898723328", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961065144 - }, - "message": "[WARNING]\t2020-02-17T17:37:45.144Z\tc7f4482d-c43d-4997-a3b7-3dad41886604\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961064, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"d707ca40-fbba-4524-bb54-c179882959b5\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:37:45.144Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOjM47CjJHgAAAABBWEJVT25LaU5VNGJ4LUE3NUdDWA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "c7f4482d-c43d-4997-a3b7-3dad41886604" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910630649244461208824327259969761711154006664216577", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961065272 - }, - "message": "[WARNING]\t2020-02-17T17:37:45.272Z\tc7f4482d-c43d-4997-a3b7-3dad41886604\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961065, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"fd3f841a-71f3-4590-9c5c-d9c5b1f418d5\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:37:45.272Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOjM87CjJJQAAAABBWEJVT25LaU5VNGJ4LUE3NUdDZQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910630716146696804416196684576916529099091182157832", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961065276 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:37:45.276Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOjYD7CjJKQAAAABBWEJVT25MM05VNGJ4LUE3NUdmWg", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a3c23d3a-c7b6-4bea-b56c-2fe3e23d0f4b" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910646571976532959689250316472608382084121934233612", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961065987 - }, - "message": "[WARNING]\t2020-02-17T17:37:45.987Z\ta3c23d3a-c7b6-4bea-b56c-2fe3e23d0f4b\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961065, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"c6084819-e304-4277-8b15-d07dec2ebeee\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:37:45.987Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOjaE7CjJKgAAAABBWEJVT25MM05VNGJ4LUE3NUdmYQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "a3c23d3a-c7b6-4bea-b56c-2fe3e23d0f4b" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910649448772663570139635574580265553722756205707277", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961066116 - }, - "message": "[WARNING]\t2020-02-17T17:37:46.116Z\ta3c23d3a-c7b6-4bea-b56c-2fe3e23d0f4b\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961065, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"de994b4c-55ba-4400-bc5e-cd2a19e92378\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:37:46.116Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOjaJ7CjJMQAAAABBWEJVT25MM05VNGJ4LUE3NUdmaA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910649560276389562792751282258856916964563735609364", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961066121 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:37:46.121Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOjnU7CjJNQAAAABBWEJVT25MM05VNGJ4LUE3NUdmbA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "797c2727-93cb-4d1b-a8bb-7c5c9b40d0bc" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910668359804591924108059596869360759533313277100056", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961066964 - }, - "message": "[WARNING]\t2020-02-17T17:37:46.964Z\t797c2727-93cb-4d1b-a8bb-7c5c9b40d0bc\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961066, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"5beebac9-4756-4c6e-a5e1-2a8247ec196b\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:37:46.964Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOjpZ7CjJPQAAAABBWEJVT25MM05VNGJ4LUE3NUdmdA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910671325803703328680937421119891021765393572495392", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961067097 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:37:47.097Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOj2a7CjJNgAAAABBWEJVT25MM05VNGJ4LUE3NUdmbQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "797c2727-93cb-4d1b-a8bb-7c5c9b40d0bc" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910671236600722534558444854977017931171947548573721", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961067930 - }, - "message": "[WARNING]\t2020-02-17T17:37:47.93Z\t797c2727-93cb-4d1b-a8bb-7c5c9b40d0bc\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961066, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"6e021ff5-2653-4aac-89fa-bd1624a33674\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:37:47.930Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOj6p7CjJQQAAAABBWEJVT25OTk5VNGJ4LUE3NUd3cA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "5e3633d1-3337-471a-bea1-45a76b1285a6" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910695945826402506488885676552864025556496174874660", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961068201 - }, - "message": "[WARNING]\t2020-02-17T17:37:48.201Z\t5e3633d1-3337-471a-bea1-45a76b1285a6\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961068, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"b24e1dfa-0397-4d59-87ea-2fc1fc22117b\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:37:48.201Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOj8r7CjJQgAAAABBWEJVT25OTk5VNGJ4LUE3NUd3cQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "5e3633d1-3337-471a-bea1-45a76b1285a6" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910698844923278315469894076196239469843491952328741", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961068331 - }, - "message": "[WARNING]\t2020-02-17T17:37:48.331Z\t5e3633d1-3337-471a-bea1-45a76b1285a6\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961068, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"48492fff-6477-41d0-813b-1f518ea927d1\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:37:48.331Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOj8v7CjJSQAAAABBWEJVT25OTk5VNGJ4LUE3NUd3eA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278910698934126259109592386642339112560436937976250412", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961068335 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:37:48.335Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOvz-olgpTAAAAABBWEJVT3YtUUZZNkduTFVZQ2RMLQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "4fa5c502-7734-47f9-85be-7614bcf1c3dd" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278911782549636200911101501410478619824248558506672128", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961116926 - }, - "message": "[WARNING]\t2020-02-17T17:38:36.926Z\t4fa5c502-7734-47f9-85be-7614bcf1c3dd\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961116, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"04d0b9a2-f18c-4c82-9b8f-4c9e665e1c6c\", \"body\": {\"trace\": {\"frames\": [{\"filename\": \"/var/task/chalice/app.py\", \"lineno\": 731, \"method\": \"_get_view_function_response\", \"code\": \"response = view_function(**function_args)\", \"argspec\": [\"self\", \"view_function\", \"function_args\"], \"locals\": {\"headers\": {}, \"function_args\": {}, \"view_function\": \"\", \"self\": \"\"}}, {\"filename\": \"/var/task/app.py\", \"lineno\": 1874, \"method\": \"async_send_admin_welcome\", \"code\": \"1 / 0\", \"locals\": {\"params\": {\"sessionId\": \"123456\"}}}], \"exception\": {\"class\": \"ZeroDivisionError\", \"message\": \"division by zero\"}}}, \"custom\": {\"asayerSessionId\": \"123456\"}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:38:36.926Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOv2B1nf01AAAAABBWEJVT3pvdTJLeXpRX1FIVmRORA", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod" - }, - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278911785471033821918613151291457774968821827287580678", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961117057 - }, - "message": "ZeroDivisionError: [asayer_session_id=123456] division by zero", - "timestamp": "2020-02-17T17:38:37.057Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - }, - { - "id": "AQAAAXBUOv9atLL4TQAAAABBWEJVT3YtaFVreVN1OHh3M1dRRQ", - "content": { - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "attributes": { - "lambda": { - "arn": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "request_id": "4fa5c502-7734-47f9-85be-7614bcf1c3dd" - }, - "level": "WARNING", - "service": "lambda", - "host": "arn:aws:lambda:eu-central-1:998611063711:function:parrot-preprod", - "id": "35278911785404131586323021263680787087390697352578465792", - "aws": { - "awslogs": { - "owner": "998611063711", - "logGroup": "/aws/lambda/parrot-preprod", - "logStream": "2020/02/17/[$LATEST]0c50a28217504eb7b706e8ac1c64b702" - }, - "invoked_function_arn": "arn:aws:lambda:eu-central-1:998611063711:function:serverlessrepo-Datadog-Log-For-loglambdaddfunction-2FEJZRLZFKS", - "function_version": "$LATEST" - }, - "timestamp": 1581961117530 - }, - "message": "[WARNING]\t2020-02-17T17:38:37.53Z\t4fa5c502-7734-47f9-85be-7614bcf1c3dd\tRollbar: over rate limit, data was dropped. Payload was: '{\"access_token\": \"940d9aeee5c84024be6a244fe1965599\", \"data\": {\"timestamp\": 1581961116, \"environment\": \"production\", \"level\": \"error\", \"language\": \"python 3.6.10\", \"notifier\": {\"name\": \"pyrollbar\", \"version\": \"0.14.7\"}, \"uuid\": \"03875b42-dd90-4c74-876a-9c3862910315\", \"body\": {\"message\": {\"body\": \"division by zero\", \"asayerSessionId\": \"123456\"}}, \"server\": {\"host\": \"169.254.36.117\", \"pid\": 1, \"argv\": [\"/var/runtime/awslambda/bootstrap.py\"]}}}'", - "timestamp": "2020-02-17T17:38:37.530Z", - "tags": [ - "functionname:parrot-preprod", - "source:lambda", - "forwardername:serverlessrepo-datadog-log-for-loglambdaddfunction-2fejzrlzfks", - "forwarder_version:1.4.1", - "memorysize:1024", - "functionname:parrot-preprod", - "sourcecategory:aws", - "source:lambda" - ] - } - } - ], - "nextLogId": null, - "status": "done", - "requestId": "c2NEeVF4MWNTaXl2QUVGRDRFMWgyUXx0YlJRWTJnaXNiVEtEaWxEMWp6VGF3" -} diff --git a/backend/pkg/integrations/clients/dynatrace.go b/backend/pkg/integrations/clients/dynatrace.go new file mode 100644 index 000000000..f82f8d4a4 --- /dev/null +++ b/backend/pkg/integrations/clients/dynatrace.go @@ -0,0 +1,153 @@ +package clients + +import ( + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" +) + +type dynatraceClient struct{} + +func NewDynatraceClient() Client { + return &dynatraceClient{} +} + +type dynatraceConfig struct { + Environment string `json:"environment"` + ClientID string `json:"client_id"` + ClientSecret string `json:"client_secret"` + Resource string `json:"resource"` +} + +type AuthToken struct { + AccessToken string `json:"access_token"` + ExpiresIn int `json:"expires_in"` +} + +func (d *dynatraceClient) FetchSessionData(credentials interface{}, sessionID uint64) (interface{}, error) { + // Try to parse the credentials as a Config struct + cfg, ok := credentials.(dynatraceConfig) + if !ok { + strCfg, ok := credentials.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("invalid credentials, got: %+v", credentials) + } + cfg = dynatraceConfig{} + if val, ok := strCfg["environment"].(string); ok { + cfg.Environment = val + } + if val, ok := strCfg["client_id"].(string); ok { + cfg.ClientID = val + } + if val, ok := strCfg["client_secret"].(string); ok { + cfg.ClientSecret = val + } + if val, ok := strCfg["resource"].(string); ok { + cfg.Resource = val + } + } + token, err := d.requestOAuthToken(cfg.ClientID, cfg.ClientSecret, cfg.Resource) + if err != nil { + return nil, fmt.Errorf("error while requesting oauth token: %w", err) + } + logs, err := d.requestLogs(token.AccessToken, cfg.Environment, sessionID) + if err != nil { + return nil, fmt.Errorf("error while requesting logs: %w", err) + } + return logs, nil +} + +func (d *dynatraceClient) requestOAuthToken(clientID, clientSecret, resource string) (*AuthToken, error) { + requestURL := "https://sso.dynatrace.com/sso/oauth2/token" + params := url.Values{} + params.Add("grant_type", "client_credentials") + params.Add("client_id", clientID) + params.Add("client_secret", clientSecret) + params.Add("resource", resource) + params.Add("scope", "storage:buckets:read storage:logs:read") + requestURL += "?" + params.Encode() + request, err := http.NewRequest("POST", requestURL, nil) + if err != nil { + return nil, err + } + request.Header.Set("Content-Type", "application/x-www-form-urlencoded") + + client := &http.Client{} + response, err := client.Do(request) + if err != nil { + return nil, err + } + defer response.Body.Close() + + body, err := io.ReadAll(response.Body) + if err != nil { + return nil, err + } + newToken := &AuthToken{} + + err = json.Unmarshal(body, newToken) + if err != nil { + return nil, err + } + if newToken.AccessToken == "" { + return nil, fmt.Errorf("empty access token, body: %s", string(body)) + } + return newToken, nil +} + +type Logs struct { + Results []interface{} `json:"results"` +} + +func testRequestParams() url.Values { + params := url.Values{} + params.Add("limit", "1") + return params +} + +func requestParams(sessionID uint64) url.Values { + params := url.Values{} + params.Add("limit", "1000") + params.Add("query", "(status=\"WARN\" OR status=\"ERROR\") AND openReplaySession.id="+fmt.Sprint(sessionID)) + return params +} + +func (d *dynatraceClient) requestLogs(token, environmentID string, sessionID uint64) (*Logs, error) { + requestURL := fmt.Sprintf("https://%s.live.dynatrace.com/api/v2/logs/search", environmentID) + if sessionID == 0 { + requestURL += "?" + testRequestParams().Encode() + } else { + requestURL += "?" + requestParams(sessionID).Encode() + } + + request, err := http.NewRequest("GET", requestURL, nil) + if err != nil { + return nil, err + } + request.Header.Set("Content-Type", "application/json") + request.Header.Set("Authorization", fmt.Sprintf("Bearer %s", token)) + + client := &http.Client{} + response, err := client.Do(request) + if err != nil { + return nil, err + } + defer response.Body.Close() + + body, err := io.ReadAll(response.Body) + if err != nil { + return nil, err + } + + logs := &Logs{} + err = json.Unmarshal(body, logs) + if err != nil { + return nil, err + } + if len(logs.Results) == 0 { + return nil, fmt.Errorf("empty logs, body: %s", string(body)) + } + return logs, nil +} diff --git a/backend/pkg/integrations/clients/elastic.go b/backend/pkg/integrations/clients/elastic.go new file mode 100644 index 000000000..36754b159 --- /dev/null +++ b/backend/pkg/integrations/clients/elastic.go @@ -0,0 +1,103 @@ +package clients + +import ( + "context" + "encoding/base64" + "encoding/json" + "fmt" + "log" + "strings" + + "github.com/elastic/go-elasticsearch/v8" +) + +type elasticsearchClient struct{} + +func NewElasticClient() Client { + return &elasticsearchClient{} +} + +type elasticsearchConfig struct { + URL string `json:"url"` + APIKeyId string `json:"api_key_id"` + APIKey string `json:"api_key"` + Indexes string `json:"indexes"` +} + +func (e *elasticsearchClient) FetchSessionData(credentials interface{}, sessionID uint64) (interface{}, error) { + cfg, ok := credentials.(elasticsearchConfig) + if !ok { + strCfg, ok := credentials.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("invalid credentials, got: %+v", credentials) + } + cfg = elasticsearchConfig{} + if val, ok := strCfg["url"].(string); ok { + cfg.URL = val + } + if val, ok := strCfg["api_key_id"].(string); ok { + cfg.APIKeyId = val + } + if val, ok := strCfg["api_key"].(string); ok { + cfg.APIKey = val + } + if val, ok := strCfg["indexes"].(string); ok { + cfg.Indexes = val + } + } + clientCfg := elasticsearch.Config{ + Addresses: []string{ + cfg.URL, + }, + APIKey: base64.StdEncoding.EncodeToString([]byte(cfg.APIKeyId + ":" + cfg.APIKey)), + } + + // Create Elasticsearch client + es, err := elasticsearch.NewClient(clientCfg) + if err != nil { + log.Fatalf("Error creating the client: %s", err) + } + + var buf strings.Builder + query := `{"size": 1}` + if sessionID != 0 { + query = fmt.Sprintf(`{ + "size": 1000, + "query": { + "match_phrase": { + "message": "openReplaySession.id=%d" + } + } + }`, sessionID) + } + buf.WriteString(query) + + res, err := es.Search( + es.Search.WithContext(context.Background()), + es.Search.WithIndex("logs"), + es.Search.WithBody(strings.NewReader(buf.String())), + es.Search.WithTrackTotalHits(true), + ) + if err != nil { + log.Fatalf("Error getting response: %s", err) + } + defer res.Body.Close() + + if res.IsError() { + log.Fatalf("Error: %s", res.String()) + } + + var r map[string]interface{} + if err := json.NewDecoder(res.Body).Decode(&r); err != nil { + log.Fatalf("Error parsing the response body: %s", err) + } + if r["hits"] == nil { + return nil, fmt.Errorf("no logs found") + } + logHits := r["hits"].(map[string]interface{})["hits"].([]interface{}) + if logHits == nil || len(logHits) == 0 { + return nil, fmt.Errorf("no logs found") + } + responseContent, _ := json.Marshal(logHits) + return responseContent, nil +} diff --git a/backend/pkg/integrations/clients/elasticsearch.go b/backend/pkg/integrations/clients/elasticsearch.go deleted file mode 100644 index e0c898434..000000000 --- a/backend/pkg/integrations/clients/elasticsearch.go +++ /dev/null @@ -1,219 +0,0 @@ -package clients - -import ( - "bytes" - "context" - b64 "encoding/base64" - "encoding/json" - "fmt" - elasticlib "github.com/elastic/go-elasticsearch/v7" - "log" - "strconv" - "time" - - "openreplay/backend/pkg/messages" -) - -type elasticsearch struct { - Host string - Port json.Number - ApiKeyId string //`json:"api_key_id"` - ApiKey string //`json:"api_key"` - Indexes string -} - -type elasticsearchLog struct { - Message string - Time time.Time `json:"utc_time"` // Should be parsed automatically from RFC3339 -} - -func (es *elasticsearch) Request(c *client) error { - address := es.Host + ":" + es.Port.String() - apiKey := b64.StdEncoding.EncodeToString([]byte(es.ApiKeyId + ":" + es.ApiKey)) - cfg := elasticlib.Config{ - Addresses: []string{ - address, - }, - APIKey: apiKey, - } - esC, err := elasticlib.NewClient(cfg) - - if err != nil { - log.Println("Error while creating new ES client") - log.Println(err) - return err - } - - gteTs := c.requestData.GetLastMessageTimestamp() + 1000 - log.Printf("gteTs: %v ", gteTs) - var buf bytes.Buffer - query := map[string]interface{}{ - "query": map[string]interface{}{ - "bool": map[string]interface{}{ - "filter": []map[string]interface{}{ - { - "match": map[string]interface{}{ - "message": map[string]interface{}{ - "query": "openReplaySessionToken=", // asayer_session_id= - }, - }, - }, - { - "range": map[string]interface{}{ - "utc_time": map[string]interface{}{ - "gte": strconv.FormatUint(gteTs, 10), - "lte": "now", - }, - }, - }, - { - "term": map[string]interface{}{ - "tags": "error", - }, - }, - }, - }, - }, - } - - if err := json.NewEncoder(&buf).Encode(query); err != nil { - return fmt.Errorf("Error encoding the query: %s", err) - } - - res, err := esC.Search( - esC.Search.WithContext(context.Background()), - esC.Search.WithIndex(es.Indexes), - esC.Search.WithSize(1000), - esC.Search.WithScroll(time.Minute*2), - esC.Search.WithBody(&buf), - esC.Search.WithSort("utc_time:asc"), - ) - if err != nil { - return fmt.Errorf("Error getting response: %s", err) - } - defer res.Body.Close() - if res.IsError() { - var e map[string]interface{} - if err := json.NewDecoder(res.Body).Decode(&e); err != nil { - log.Printf("Error parsing the Error response body: %v\n", err) - return fmt.Errorf("Error parsing the Error response body: %v", err) - } else { - log.Printf("Elasticsearch Error [%s] %s: %s\n", - res.Status(), - e["error"], - e["error"], - ) - return fmt.Errorf("Elasticsearch Error [%s] %s: %s", - res.Status(), - e["error"], - e["error"], - ) - } - } - - for { - var esResp map[string]interface{} - if err := json.NewDecoder(res.Body).Decode(&esResp); err != nil { - return fmt.Errorf("Error parsing the response body: %s", err) - // If no error, then convert response to a map[string]interface - } - - if _, ok := esResp["hits"]; !ok { - log.Printf("Hits not found in \n%v\n", esResp) - break - } - hits := esResp["hits"].(map[string]interface{})["hits"].([]interface{}) - if len(hits) == 0 { - log.Println("No hits found") - break - } - log.Printf("received %d hits", len(hits)) - for _, hit := range hits { - - // Parse the attributes/fields of the document - doc := hit.(map[string]interface{}) - source := doc["_source"].(map[string]interface{}) - - if _, ok := source["message"]; !ok { - log.Printf("message not found in doc \n%v\n", doc) - c.errChan <- fmt.Errorf("message not found in doc '%v' ", doc) - continue - } - - if _, ok := source["utc_time"]; !ok { - log.Printf("utc_time not found in doc \n%v\n", doc) - c.errChan <- fmt.Errorf("utc_time not found in doc '%v' ", doc) - continue - } - - parsedTime, err := time.Parse(time.RFC3339, source["utc_time"].(string)) - if err != nil { - log.Println("cannot parse time") - c.errChan <- fmt.Errorf("cannot parse RFC3339 time of doc '%v' ", doc) - continue - } - esLog := elasticsearchLog{Message: source["message"].(string), Time: parsedTime} - docID := doc["_id"] - - token, err := GetToken(esLog.Message) - if err != nil { - log.Printf("Error generating token: %s\n", err) - c.errChan <- err - continue - } - timestamp := uint64(esLog.Time.UnixMilli()) - c.requestData.SetLastMessageTimestamp(timestamp) - - var sessionID uint64 - sessionID, err = strconv.ParseUint(token, 10, 64) - if err != nil { - log.Printf("Error converting token to uint46: %s\n", err) - sessionID = 0 - } - payload, err := json.Marshal(source) - if err != nil { - log.Printf("Error converting source to json: %v\n", source) - continue - } - c.evChan <- &SessionErrorEvent{ - //SessionID: sessionID, - SessionID: sessionID, - Token: token, - IntegrationEvent: &messages.IntegrationEvent{ - Source: "elasticsearch", - Timestamp: timestamp, - Name: fmt.Sprintf("%v", docID), - Payload: string(payload), - }, - } - } - if _, ok := esResp["_scroll_id"]; !ok { - log.Println("_scroll_id not found") - break - } - log.Println("Scrolling...") - scrollId := esResp["_scroll_id"] - res, err = esC.Scroll( - esC.Scroll.WithContext(context.Background()), - esC.Scroll.WithScrollID(fmt.Sprintf("%v", scrollId)), - esC.Scroll.WithScroll(time.Minute*2), - ) - if err != nil { - return fmt.Errorf("Error getting scroll response: %s", err) - } - defer res.Body.Close() - if res.IsError() { - var e map[string]interface{} - if err := json.NewDecoder(res.Body).Decode(&e); err != nil { - return fmt.Errorf("Error parsing the response body: %v", err) - } else { - return fmt.Errorf("Elasticsearch [%s] %s: %s", - res.Status(), - e["error"], //.(map[string]interface{})["type"], - e["error"], //.(map[string]interface{})["reason"], - ) - } - } - } - return nil -} diff --git a/backend/pkg/integrations/clients/elasticsearch.json b/backend/pkg/integrations/clients/elasticsearch.json deleted file mode 100644 index bfeeb2843..000000000 --- a/backend/pkg/integrations/clients/elasticsearch.json +++ /dev/null @@ -1,469 +0,0 @@ -{ - "took" : 2, - "timed_out" : false, - "_shards" : { - "total" : 1, - "successful" : 1, - "skipped" : 0, - "failed" : 0 - }, - "hits" : { - "total" : { - "value" : 10, - "relation" : "eq" - }, - "max_score" : null, - "hits" : [ - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "TaSPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://www.elastic-elastic-elastic.com/success/christopher-loria", - "request" : "/elasticsearch", - "agent" : "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1", - "extension" : "", - "memory" : null, - "ip" : "245.169.167.67", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]245.169.167.67 - - [2018-08-03T16:20:11.988Z] "GET /elasticsearch HTTP/1.1" 200 9950 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1"""", - "url" : "https://www.elastic.co/downloads/elasticsearch", - "tags" : [ - "success", - "info", - "error" - ], - "geo" : { - "srcdest" : "PK:RW", - "src" : "PK", - "coordinates" : { - "lon" : -76.069, - "lat" : 38.80416667 - }, - "dest" : "RW" - }, - "utc_time" : "2020-02-21T16:20:11.988Z", - "bytes" : 9950, - "machine" : { - "os" : "osx", - "ram" : 18253611008 - }, - "response" : 200, - "clientip" : "245.169.167.67", - "host" : "www.elastic.co", - "phpmemory" : null, - "timestamp" : "2020-02-21T16:20:11.988Z" - }, - "sort" : [ - 1582302011988 - ] - }, - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "fKSPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://facebook.com/error/charles-fullerton", - "request" : "/elasticsearch", - "agent" : "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24", - "extension" : "", - "memory" : null, - "ip" : "26.150.255.63", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]26.150.255.63 - - [2018-08-03T16:20:52.802Z] "GET /elasticsearch HTTP/1.1" 200 7330 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24"""", - "url" : "https://www.elastic.co/downloads/elasticsearch", - "tags" : [ - "success", - "info", - "error" - ], - "geo" : { - "srcdest" : "US:FR", - "src" : "US", - "coordinates" : { - "lon" : -82.70288889, - "lat" : 34.80997222 - }, - "dest" : "FR" - }, - "utc_time" : "2020-02-21T16:20:52.802Z", - "bytes" : 7330, - "machine" : { - "os" : "ios", - "ram" : 17179869184 - }, - "response" : 200, - "clientip" : "26.150.255.63", - "host" : "www.elastic.co", - "phpmemory" : null, - "timestamp" : "2020-02-21T16:20:52.802Z" - }, - "sort" : [ - 1582302052802 - ] - }, - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "QqSPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://nytimes.com/warning/yelena-kondakova", - "request" : "/enterprise", - "agent" : "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1", - "extension" : "", - "memory" : null, - "ip" : "6.63.231.192", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]6.63.231.192 - - [2018-08-03T16:24:33.154Z] "GET /enterprise HTTP/1.1" 503 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1"""", - "url" : "https://www.elastic.co/downloads/enterprise", - "tags" : [ - "success", - "login", - "error" - ], - "geo" : { - "srcdest" : "BR:IN", - "src" : "BR", - "coordinates" : { - "lon" : -91.67833333, - "lat" : 40.12916667 - }, - "dest" : "IN" - }, - "utc_time" : "2020-02-21T16:24:33.154Z", - "bytes" : 0, - "machine" : { - "os" : "osx", - "ram" : 21474836480 - }, - "response" : 503, - "clientip" : "6.63.231.192", - "host" : "www.elastic.co", - "phpmemory" : null, - "timestamp" : "2020-02-21T16:24:33.154Z" - }, - "sort" : [ - 1582302273154 - ] - }, - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "t6SPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://nytimes.com/success/ronald-grabe", - "request" : "/", - "agent" : "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24", - "extension" : "", - "memory" : null, - "ip" : "111.58.155.54", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]111.58.155.54 - - [2018-08-03T16:26:12.645Z] "GET / HTTP/1.1" 200 3354 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24"""", - "url" : "https://www.elastic.co/downloads", - "tags" : [ - "success", - "info", - "error" - ], - "geo" : { - "srcdest" : "CN:CN", - "src" : "CN", - "coordinates" : { - "lon" : -93.30739306, - "lat" : 31.99071694 - }, - "dest" : "CN" - }, - "utc_time" : "2020-02-21T16:26:12.645Z", - "bytes" : 3354, - "machine" : { - "os" : "win 8", - "ram" : 9663676416 - }, - "response" : 200, - "clientip" : "111.58.155.54", - "host" : "www.elastic.co", - "phpmemory" : null, - "timestamp" : "2020-02-21T16:26:12.645Z" - }, - "sort" : [ - 1582302372645 - ] - }, - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "lqSPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://www.elastic-elastic-elastic.com/warning/gregory-h-johnson", - "request" : "/styles/ad-blocker.css", - "agent" : "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24", - "extension" : "css", - "memory" : null, - "ip" : "85.130.95.75", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]85.130.95.75 - - [2018-08-03T16:36:29.881Z] "GET /styles/ad-blocker.css HTTP/1.1" 200 7755 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24"""", - "url" : "https://cdn.elastic-elastic-elastic.org/styles/ad-blocker.css", - "tags" : [ - "warning", - "login", - "error" - ], - "geo" : { - "srcdest" : "US:CD", - "src" : "US", - "coordinates" : { - "lon" : -80.09559417, - "lat" : 26.68316194 - }, - "dest" : "CD" - }, - "utc_time" : "2020-02-21T16:36:29.881Z", - "bytes" : 7755, - "machine" : { - "os" : "win 8", - "ram" : 18253611008 - }, - "response" : 200, - "clientip" : "85.130.95.75", - "host" : "cdn.elastic-elastic-elastic.org", - "phpmemory" : null, - "timestamp" : "2020-02-21T16:36:29.881Z" - }, - "sort" : [ - 1582302989881 - ] - }, - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "qqSPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://nytimes.com/success/liu-wang", - "request" : "/elasticsearch", - "agent" : "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1", - "extension" : "", - "memory" : null, - "ip" : "107.238.94.231", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]107.238.94.231 - - [2018-08-03T16:52:30.202Z] "GET /elasticsearch HTTP/1.1" 503 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1"""", - "url" : "https://www.elastic.co/downloads/elasticsearch", - "tags" : [ - "success", - "security", - "error" - ], - "geo" : { - "srcdest" : "CN:BR", - "src" : "CN", - "coordinates" : { - "lon" : -85.24216667, - "lat" : 37.63355556 - }, - "dest" : "BR" - }, - "utc_time" : "2020-02-21T16:52:30.202Z", - "bytes" : 0, - "machine" : { - "os" : "osx", - "ram" : 9663676416 - }, - "response" : 503, - "clientip" : "107.238.94.231", - "host" : "www.elastic.co", - "phpmemory" : null, - "timestamp" : "2020-02-21T16:52:30.202Z" - }, - "sort" : [ - 1582303950202 - ] - }, - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "5KSPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://facebook.com/success/edward-gibson", - "request" : "/beats/filebeat", - "agent" : "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24", - "extension" : "", - "memory" : null, - "ip" : "231.185.3.235", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]231.185.3.235 - - [2018-08-03T16:54:58.604Z] "GET /beats/filebeat HTTP/1.1" 200 7616 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24"""", - "url" : "https://www.elastic.co/downloads/beats/filebeat", - "tags" : [ - "success", - "security", - "error" - ], - "geo" : { - "srcdest" : "BO:IN", - "src" : "BO", - "coordinates" : { - "lon" : -151.1913661, - "lat" : 61.965295 - }, - "dest" : "IN" - }, - "utc_time" : "2020-02-21T16:54:58.604Z", - "bytes" : 7616, - "machine" : { - "os" : "osx", - "ram" : 13958643712 - }, - "response" : 200, - "clientip" : "231.185.3.235", - "host" : "www.elastic.co", - "phpmemory" : null, - "timestamp" : "2020-02-21T16:54:58.604Z" - }, - "sort" : [ - 1582304098604 - ] - }, - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "6aSPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://www.elastic-elastic-elastic.com/success/umberto-guidoni", - "request" : "/beats/filebeat/filebeat-6.3.2-linux-x86.tar.gz", - "agent" : "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24", - "extension" : "gz", - "memory" : null, - "ip" : "251.250.144.158", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]251.250.144.158 - - [2018-08-03T17:01:11.333Z] "GET /beats/filebeat/filebeat-6.3.2-linux-x86.tar.gz HTTP/1.1" 200 9860 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24"""", - "url" : "https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.2-linux-x86.tar.gz", - "tags" : [ - "success", - "info", - "error" - ], - "geo" : { - "srcdest" : "IN:IT", - "src" : "IN", - "coordinates" : { - "lon" : -92.464455, - "lat" : 39.72870694 - }, - "dest" : "IT" - }, - "utc_time" : "2020-02-21T17:01:11.333Z", - "bytes" : 9860, - "machine" : { - "os" : "ios", - "ram" : 6442450944 - }, - "response" : 200, - "clientip" : "251.250.144.158", - "host" : "artifacts.elastic.co", - "phpmemory" : null, - "timestamp" : "2020-02-21T17:01:11.333Z" - }, - "sort" : [ - 1582304471333 - ] - }, - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "uaSPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://www.elastic-elastic-elastic.com/success/daniel-barry", - "request" : "/kibana/kibana-6.3.2-linux-x86_64.tar.gz", - "agent" : "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1", - "extension" : "gz", - "memory" : null, - "ip" : "247.50.93.227", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]247.50.93.227 - - [2018-08-03T17:08:38.706Z] "GET /kibana/kibana-6.3.2-linux-x86_64.tar.gz HTTP/1.1" 200 3119 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1"""", - "url" : "https://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-linux-x86_64.tar.gz", - "tags" : [ - "success", - "info", - "error" - ], - "geo" : { - "srcdest" : "IN:US", - "src" : "IN", - "coordinates" : { - "lon" : -90.32484722, - "lat" : 36.77394444 - }, - "dest" : "US" - }, - "utc_time" : "2020-02-21T17:08:38.706Z", - "bytes" : 3119, - "machine" : { - "os" : "osx", - "ram" : 9663676416 - }, - "response" : 200, - "clientip" : "247.50.93.227", - "host" : "artifacts.elastic.co", - "phpmemory" : null, - "timestamp" : "2020-02-21T17:08:38.706Z" - }, - "sort" : [ - 1582304918706 - ] - }, - { - "_index" : "kibana_sample_data_logs", - "_type" : "_doc", - "_id" : "MKSPaHABZ3Nzf4SJcTnh", - "_score" : null, - "_source" : { - "referer" : "http://twitter.com/success/anthony-w-england", - "request" : "/elasticsearch/elasticsearch-6.3.2.zip", - "agent" : "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24", - "extension" : "zip", - "memory" : null, - "ip" : "179.153.116.46", - "index" : "kibana_sample_data_logs", - "message" : """[asayer_session_id=123456677890]179.153.116.46 - - [2018-08-03T17:11:18.968Z] "GET /elasticsearch/elasticsearch-6.3.2.zip HTTP/1.1" 200 4685 "-" "Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24"""", - "url" : "https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.zip", - "tags" : [ - "success", - "info", - "error" - ], - "geo" : { - "srcdest" : "IN:IT", - "src" : "IN", - "coordinates" : { - "lon" : -97.10931306, - "lat" : 40.86525806 - }, - "dest" : "IT" - }, - "utc_time" : "2020-02-21T17:11:18.968Z", - "bytes" : 4685, - "machine" : { - "os" : "ios", - "ram" : 4294967296 - }, - "response" : 200, - "clientip" : "179.153.116.46", - "host" : "artifacts.elastic.co", - "phpmemory" : null, - "timestamp" : "2020-02-21T17:11:18.968Z" - }, - "sort" : [ - 1582305078968 - ] - } - ] - } -} diff --git a/backend/pkg/integrations/clients/newrelic.go b/backend/pkg/integrations/clients/newrelic.go deleted file mode 100644 index ff8501fc7..000000000 --- a/backend/pkg/integrations/clients/newrelic.go +++ /dev/null @@ -1,99 +0,0 @@ -package clients - -import ( - "encoding/json" - "errors" - "fmt" - "io" - "net/http" - "time" - - "openreplay/backend/pkg/messages" -) - -/* - We use insights-api for query. They also have Logs and Events -*/ - -// TODO: Eu/us -type newrelic struct { - ApplicationId string //`json:"application_id"` - XQueryKey string //`json:"x_query_key"` -} - -// TODO: Recheck -type newrelicResponce struct { - Results []struct { - Events []json.RawMessage - } -} - -type newrelicEvent struct { - OpenReplaySessionToken string `json:"openReplaySessionToken"` - ErrorClass string `json:"error.class"` - Timestamp uint64 `json:"timestamp"` -} - -func (nr *newrelic) Request(c *client) error { - sinceTs := c.requestData.GetLastMessageTimestamp() + 1000 // From next second - // In docs - format "yyyy-mm-dd HH:MM:ss", but time.RFC3339 works fine too - sinceFormatted := time.UnixMilli(int64(sinceTs)).Format(time.RFC3339) - // US/EU endpoint ?? - requestURL := fmt.Sprintf("https://insights-api.eu.newrelic.com/v1/accounts/%v/query", nr.ApplicationId) - req, err := http.NewRequest("GET", requestURL, nil) - if err != nil { - return err - } - - // The docks and api are awfull. Seems like SINCE works inclusively. - nrql := fmt.Sprintf("SELECT * FROM TransactionError SINCE '%v' WHERE openReplaySessionToken IS NOT NULL", sinceFormatted) - q := req.URL.Query() - q.Add("nrql", nrql) - req.URL.RawQuery = q.Encode() - - req.Header.Add("X-Query-Key", nr.XQueryKey) - req.Header.Add("Accept", "application/json") - - resp, err := http.DefaultClient.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - - // 401 (unauthorised) if wrong XQueryKey/deploymentServer is wrong or 403 (Forbidden) if ApplicationId is wrong - // 400 if Query has problems - if resp.StatusCode >= 400 { - io.Copy(io.Discard, resp.Body) // Read the body to free socket - return fmt.Errorf("Newrelic: server respond with the code %v| Request: ", resp.StatusCode, *req) - } - // Pagination depending on returning metadata ? - var nrResp newrelicResponce - if err = json.NewDecoder(resp.Body).Decode(&nrResp); err != nil { - return err - } - for _, r := range nrResp.Results { - for _, jsonEvent := range r.Events { - var e newrelicEvent - if err = json.Unmarshal(jsonEvent, &e); err != nil { - c.errChan <- err - continue - } - if e.OpenReplaySessionToken == "" { - c.errChan <- errors.New("Token is empty") - continue - } - - c.requestData.SetLastMessageTimestamp(e.Timestamp) - c.evChan <- &SessionErrorEvent{ - Token: e.OpenReplaySessionToken, - IntegrationEvent: &messages.IntegrationEvent{ - Source: "newrelic", - Timestamp: e.Timestamp, - Name: e.ErrorClass, - Payload: string(jsonEvent), - }, - } - } - } - return nil -} diff --git a/backend/pkg/integrations/clients/newrelic.json b/backend/pkg/integrations/clients/newrelic.json deleted file mode 100644 index 2730220e8..000000000 --- a/backend/pkg/integrations/clients/newrelic.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "results": [ - { - "events": [ - { - "aggregateFacet": "WebTransaction/Function/flaskr.auth:register::builtins:ZeroDivisionError", - "appId": 28925082, - "appName": "My Flask Python Application", - "duration": 0.0017523765563964844, - "entityGuid": "MjYyNzMzN3xBUE18QVBQTElDQVRJT058Mjg5MjUwODI", - "error.class": "builtins:ZeroDivisionError", - "error.message": "division by zero", - "host": "new-relic-flask2", - "port": 8080, - "realAgentId": 28925084, - "request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "request.headers.host": "35.236.108.92:8080", - "request.headers.referer": "http://35.236.108.92:8080/", - "request.headers.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36", - "request.method": "GET", - "request.uri": "/auth/register", - "thread.concurrency": 0.9917959662585014, - "timestamp": 1582133149351, - "transactionName": "WebTransaction/Function/flaskr.auth:register", - "transactionUiName": "/flaskr.auth:register" - }, - { - "aggregateFacet": "WebTransaction/Function/flaskr.auth:register::builtins:ZeroDivisionError", - "appId": 28925082, - "appName": "My Flask Python Application", - "duration": 0.0011684894561767578, - "entityGuid": "MjYyNzMzN3xBUE18QVBQTElDQVRJT058Mjg5MjUwODI", - "error.class": "builtins:ZeroDivisionError", - "error.message": "division by zero", - "host": "new-relic-flask2", - "port": 8080, - "realAgentId": 28925084, - "request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "request.headers.host": "35.236.108.92:8080", - "request.headers.referer": "http://35.236.108.92:8080/", - "request.headers.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36", - "request.method": "GET", - "request.uri": "/auth/register", - "thread.concurrency": 0.9858882285247911, - "timestamp": 1582133148418, - "transactionName": "WebTransaction/Function/flaskr.auth:register", - "transactionUiName": "/flaskr.auth:register" - }, - { - "aggregateFacet": "WebTransaction/Function/flaskr.auth:register::builtins:ZeroDivisionError", - "appId": 28925082, - "appName": "My Flask Python Application", - "duration": 0.0011768341064453125, - "entityGuid": "MjYyNzMzN3xBUE18QVBQTElDQVRJT058Mjg5MjUwODI", - "error.class": "builtins:ZeroDivisionError", - "error.message": "division by zero", - "host": "new-relic-flask2", - "port": 8080, - "realAgentId": 28925084, - "request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "request.headers.host": "35.236.108.92:8080", - "request.headers.referer": "http://35.236.108.92:8080/", - "request.headers.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36", - "request.method": "GET", - "request.uri": "/auth/register", - "thread.concurrency": 0.9890943792544556, - "timestamp": 1582133147569, - "transactionName": "WebTransaction/Function/flaskr.auth:register", - "transactionUiName": "/flaskr.auth:register" - }, - { - "aggregateFacet": "WebTransaction/Function/flaskr.auth:register::builtins:ZeroDivisionError", - "appId": 28925082, - "appName": "My Flask Python Application", - "duration": 0.0011293888092041016, - "entityGuid": "MjYyNzMzN3xBUE18QVBQTElDQVRJT058Mjg5MjUwODI", - "error.class": "builtins:ZeroDivisionError", - "error.message": "division by zero", - "host": "new-relic-flask2", - "port": 8080, - "realAgentId": 28925084, - "request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "request.headers.host": "35.236.108.92:8080", - "request.headers.referer": "http://35.236.108.92:8080/", - "request.headers.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36", - "request.method": "GET", - "request.uri": "/auth/register", - "thread.concurrency": 0.986374214903945, - "timestamp": 1582133146601, - "transactionName": "WebTransaction/Function/flaskr.auth:register", - "transactionUiName": "/flaskr.auth:register" - }, - { - "aggregateFacet": "WebTransaction/Function/flaskr.auth:register::builtins:ZeroDivisionError", - "appId": 28925082, - "appName": "My Flask Python Application", - "duration": 0.0011687278747558594, - "entityGuid": "MjYyNzMzN3xBUE18QVBQTElDQVRJT058Mjg5MjUwODI", - "error.class": "builtins:ZeroDivisionError", - "error.message": "division by zero", - "host": "new-relic-flask2", - "port": 8080, - "realAgentId": 28925084, - "request.headers.accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "request.headers.host": "35.236.108.92:8080", - "request.headers.referer": "http://35.236.108.92:8080/", - "request.headers.userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36", - "request.method": "GET", - "request.uri": "/auth/register", - "thread.concurrency": 0.9839758465932258, - "timestamp": 1582133139999, - "transactionName": "WebTransaction/Function/flaskr.auth:register", - "transactionUiName": "/flaskr.auth:register" - } - ] - } - ], - "performanceStats": { - "inspectedCount": 5, - "omittedCount": 0, - "matchCount": 5, - "wallClockTime": 18 - }, - "metadata": { - "eventTypes": [ - "TransactionError" - ], - "eventType": "TransactionError", - "openEnded": false, - "beginTime": "2020-02-18T18:00:00Z", - "endTime": "2020-02-19T19:38:58Z", - "beginTimeMillis": 1582048800000, - "endTimeMillis": 1582141138000, - "rawSince": "'2020-02-18T18:00:00Z'", - "rawUntil": "'2020-02-19T19:38:58Z'", - "rawCompareWith": "", - "guid": "5890296a-5092-5fcc-f05d-b55dbeb8a500", - "routerGuid": "729a50a2-a73f-5d88-cd1f-ea0a9ace54a6", - "messages": [ - "Your query's end time is in the future. Results may be incomplete." - ], - "contents": [ - { - "function": "events", - "limit": 100, - "order": { - "column": "timestamp", - "descending": true - } - } - ] - } -} diff --git a/backend/pkg/integrations/clients/newrelic_empty.json b/backend/pkg/integrations/clients/newrelic_empty.json deleted file mode 100644 index 1971eb592..000000000 --- a/backend/pkg/integrations/clients/newrelic_empty.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "results": [ - { - "events": [] - } - ], - "performanceStats": { - "inspectedCount": 0, - "omittedCount": 0, - "matchCount": 0, - "wallClockTime": 10 - }, - "metadata": { - "eventTypes": [ - "TransactionError" - ], - "eventType": "TransactionError", - "openEnded": true, - "beginTime": "2014-08-04T00:00:00Z", - "endTime": "2020-02-14T18:04:23Z", - "beginTimeMillis": 1407110400000, - "endTimeMillis": 1581703463865, - "rawSince": "'2014-08-04 00:00:00'", - "rawUntil": "NOW", - "rawCompareWith": "", - "guid": "27d3fd61-735a-ab46-51b4-f96f07226d2b", - "routerGuid": "979f0b32-b13b-fad1-7577-60f2025da513", - "messages": [ - "No events found -- do you have the correct event type and time range?" - ], - "contents": [ - { - "function": "events", - "limit": 100, - "order": { - "column": "timestamp", - "descending": true - } - } - ] - } -} diff --git a/backend/pkg/integrations/clients/rollbar.go b/backend/pkg/integrations/clients/rollbar.go deleted file mode 100644 index 481ac425b..000000000 --- a/backend/pkg/integrations/clients/rollbar.go +++ /dev/null @@ -1,175 +0,0 @@ -package clients - -import ( - "encoding/json" - "errors" - "fmt" - "io" - "net/http" - "strconv" - "strings" - "time" - - "openreplay/backend/pkg/messages" -) - -// Old name: asayerSessionId - -// QUERY: what can be modified? -const RB_QUERY = "SELECT item.id, item.title,body.message.openReplaySessionToken,item.level," + - " item.counter,item.environment,body.crash_report.raw,body.message.body,timestamp" + - " FROM item_occurrence" + - " WHERE body.message.openReplaySessionToken != null" + - " AND timestamp>= %v" + - " AND item.level>30" + - " ORDER BY timestamp" + - " LIMIT 1000" - -// ASC by default -// \n\t symbols can spoil the request body, so it wouldn't work (OR probably it happend because of job hashing) - -/* - - `read` Access Token required - - timstamp in seconds -*/ - -type rollbar struct { - AccessToken string // `json:"access_token"` -} - -type rollbarJobResponce struct { - Err int - Message string - Result struct { - Id int - } -} - -type rollbarJobStatusResponce struct { - Err int - Result struct { - Status string - Result struct { - Rows [][]json.Number - Columns []string - } - } -} - -type rollbarEvent map[string]string - -/* - It is possible to use /api/1/instances (20 per page) - Jobs for the identical requests are hashed -*/ -func (rb *rollbar) Request(c *client) error { - fromTs := c.requestData.GetLastMessageTimestamp() + 1000 // From next second - c.requestData.SetLastMessageTimestamp(fromTs) // anti-job-hashing - fromTsSec := fromTs / 1e3 - query := fmt.Sprintf(RB_QUERY, fromTsSec) - jsonBody := fmt.Sprintf(`{ - "access_token": "%v", - "query_string": "%v" - }`, rb.AccessToken, query) - req, err := http.NewRequest("POST", "https://api.rollbar.com/api/1/rql/jobs", strings.NewReader(jsonBody)) - if err != nil { - return err - } - req.Header.Add("Content-Type", "application/json") - req.Header.Add("Accept", "application/json") - - resp, err := http.DefaultClient.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - // status != 200 || 201 - // status can be 403 then should report about wrong token - if resp.StatusCode >= 400 { - io.Copy(io.Discard, resp.Body) // Read the body to free socket - return fmt.Errorf("Rollbar: server respond with the code %v", resp.StatusCode) - } - - var jobResponce rollbarJobResponce - if err = json.NewDecoder(resp.Body).Decode(&jobResponce); err != nil { - return err - } - if jobResponce.Err != 0 { - return fmt.Errorf("Rollbar job responce error: %v", jobResponce.Message) - } - - requestURL := fmt.Sprintf( - "https://api.rollbar.com/api/1/rql/job/%v?access_token=%v&expand=result", - jobResponce.Result.Id, - rb.AccessToken, - ) - req, err = http.NewRequest("GET", requestURL, nil) - if err != nil { - return err - } - - tick := time.Tick(5 * time.Second) - for { - <-tick - resp, err = http.DefaultClient.Do(req) - if err != nil { - return err // continue + timeout/maxAttempts - } - defer resp.Body.Close() - // status != 200 - var jobStatus rollbarJobStatusResponce - err := json.NewDecoder(resp.Body).Decode(&jobStatus) - if err != nil { - return err - } - - //todo: pagintation; limit: 1000 - - if jobStatus.Result.Status == "success" { - for _, row := range jobStatus.Result.Result.Rows { - e := make(rollbarEvent) - for i, col := range jobStatus.Result.Result.Columns { - //if len(row) <= i { error } - e[col] = row[i].String() // here I make them all string. That's not good - } - // sessionID, err := strconv.ParseUint(e[ "body.message.asayerSessionId" ], 10, 64) - // if err != nil { - // c.errChan <- err - // continue - // } - if e["body.message.openReplaySessionToken"] == "" { - c.errChan <- errors.New("Token is empty!") - continue - } - payload, err := json.Marshal(e) - if err != nil { - c.errChan <- err - continue - } - timestampSec, err := strconv.ParseUint(e["timestamp"], 10, 64) - if err != nil { - c.errChan <- err - continue - } - timestamp := timestampSec * 1000 - c.requestData.SetLastMessageTimestamp(timestamp) - c.evChan <- &SessionErrorEvent{ - Token: e["body.message.openReplaySessionToken"], - IntegrationEvent: &messages.IntegrationEvent{ - Source: "rollbar", - Timestamp: timestamp, - Name: e["item.title"], - Payload: string(payload), - }, - } - } - break - } - if jobStatus.Result.Status != "new" && - jobStatus.Result.Status != "running" { - // error - break - } - } - return nil -} diff --git a/backend/pkg/integrations/clients/rollbar_error.json b/backend/pkg/integrations/clients/rollbar_error.json deleted file mode 100644 index 95dc591db..000000000 --- a/backend/pkg/integrations/clients/rollbar_error.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "err": 1, - "message": "insufficient privileges: read scope is required but the access token only has post_server_item." -} \ No newline at end of file diff --git a/backend/pkg/integrations/clients/rollbar_job_result.json b/backend/pkg/integrations/clients/rollbar_job_result.json deleted file mode 100644 index da88b3a08..000000000 --- a/backend/pkg/integrations/clients/rollbar_job_result.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "err": 0, - "result": { - "status": "success", - "job_hash": "2d7141f57204ea9cfe59304beed947313b538608", - "result": { - "isSimpleSelect": true, - "errors": [ - ], - "warnings": [ - ], - "executionTime": 0.021143198013305664, - "effectiveTimestamp": 1582125712, - "rowcount": 1, - "rows": [ - [ - 866038147, - "division by zero", - "250250", - 40, - 2, - "production", - null, - "division by zero", - 1582125312, - 115079899839 - ] - ], - "selectionColumns": [ - "item.id", - "item.title", - "body.message.asayerSessionId", - "item.level", - "item.counter", - "item.environment", - "body.crash_report.raw", - "body.message.body", - "timestamp" - ], - "projectIds": [ - 349886 - ], - "columns": [ - "item.id", - "item.title", - "body.message.asayerSessionId", - "item.level", - "item.counter", - "item.environment", - "body.crash_report.raw", - "body.message.body", - "timestamp", - "occurrence_id" - ] - }, - "date_modified": 1582125712, - "query_string": "SELECT item.id, item.title,body.message.asayerSessionId,item.level,item.counter,item.environment,body.crash_report.raw,body.message.body,timestamp FROM item_occurrence WHERE body.message.asayerSessionId != null\tAND timestamp>= 1582124402\tAND item.level>30\tORDER BY timestamp\tLIMIT 1000", - "date_created": 1582125712, - "project_id": 349886, - "id": 82765415, - "project_group_id": 16555 - } -} diff --git a/backend/pkg/integrations/clients/rollbar_job_start.json b/backend/pkg/integrations/clients/rollbar_job_start.json deleted file mode 100644 index 8d8b5359b..000000000 --- a/backend/pkg/integrations/clients/rollbar_job_start.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "err": 0, - "result": { - "status": "new", - "job_hash": "2d7141f57204ea9cfe59304beed947313b538608", - "date_modified": 1582125712, - "query_string": "SELECT item.id, item.title,body.message.asayerSessionId,item.level,item.counter,item.environment,body.crash_report.raw,body.message.body,timestamp FROM item_occurrence WHERE body.message.asayerSessionId != null\tAND timestamp>= 1582124402\tAND item.level>30\tORDER BY timestamp\tLIMIT 1000", - "date_created": 1582125712, - "project_id": 349886, - "id": 82765415, - "project_group_id": 16555 - } -} diff --git a/backend/pkg/integrations/clients/sentry.go b/backend/pkg/integrations/clients/sentry.go index 6c97318e1..9fbaf4759 100644 --- a/backend/pkg/integrations/clients/sentry.go +++ b/backend/pkg/integrations/clients/sentry.go @@ -4,147 +4,102 @@ import ( "encoding/json" "fmt" "io" + "log" "net/http" "net/url" - "strconv" - "strings" - "time" - - "openreplay/backend/pkg/messages" ) -/* - They also have different stuff - Documentation says: - "Note: This endpoint is experimental and may be removed without notice." -*/ - -type sentry struct { - OrganizationSlug string // `json:"organization_slug"` - ProjectSlug string // `json:"project_slug"` - Token string // `json:"token"` +type sentryClient struct { + // } -type sentryEvent struct { - Tags []struct { - Key string - Value string `json:"value"` +func NewSentryClient() Client { + return &sentryClient{} +} + +type sentryConfig struct { + OrganizationSlug string `json:"organization_slug"` + ProjectSlug string `json:"project_slug"` + Token string `json:"token"` +} + +type SentryEvent struct { + ID string `json:"id"` + Title string `json:"title"` + Message string `json:"message"` + Environment string `json:"environment"` +} + +func (s *sentryClient) FetchSessionData(credentials interface{}, sessionID uint64) (interface{}, error) { + cfg, ok := credentials.(sentryConfig) + if !ok { + strCfg, ok := credentials.(map[string]interface{}) + if !ok { + return nil, fmt.Errorf("invalid credentials, got: %+v", credentials) + } + cfg = sentryConfig{} + if val, ok := strCfg["organization_slug"].(string); ok { + cfg.OrganizationSlug = val + } + if val, ok := strCfg["project_slug"].(string); ok { + cfg.ProjectSlug = val + } + if val, ok := strCfg["token"].(string); ok { + cfg.Token = val + } } - DateCreated string `json:"dateCreated"` // or dateReceived ? - Title string - EventID string `json:"eventID"` -} + requestUrl := fmt.Sprintf("https://sentry.io/api/0/projects/%s/%s/events/", cfg.OrganizationSlug, cfg.ProjectSlug) -func (sn *sentry) Request(c *client) error { - requestURL := fmt.Sprintf("https://sentry.io/api/0/projects/%v/%v/events/", sn.OrganizationSlug, sn.ProjectSlug) - req, err := http.NewRequest("GET", requestURL, nil) + testCallLimit := 1 + params := url.Values{} + if sessionID != 0 { + params.Add("query", fmt.Sprintf("openReplaySession.id=%d", sessionID)) + } else { + params.Add("per_page", fmt.Sprintf("%d", testCallLimit)) + } + requestUrl += "?" + params.Encode() + + // Create a new request + req, err := http.NewRequest("GET", requestUrl, nil) if err != nil { - return err + log.Fatalf("Failed to create request: %v", err) } - authHeader := "Bearer " + sn.Token - req.Header.Add("Authorization", authHeader) - // by link ? - lastEventId := c.requestData.GetLastMessageId() - firstEvent := true + // Add Authorization header + req.Header.Set("Authorization", "Bearer "+cfg.Token) -PageLoop: - for { - resp, err := http.DefaultClient.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - - if resp.StatusCode >= 400 { - io.Copy(io.Discard, resp.Body) // Read the body to free socket - return fmt.Errorf("Sentry: server respond with the code %v", resp.StatusCode) - } - - var jsonEventList []json.RawMessage - err = json.NewDecoder(resp.Body).Decode(&jsonEventList) - if err != nil { - return err - } - - for _, jsonEvent := range jsonEventList { - var e sentryEvent - err = json.Unmarshal(jsonEvent, &e) - if err != nil { - c.errChan <- err - continue - } - - if lastEventId == e.EventID { - break PageLoop - } - - parsedTime, err := time.Parse(time.RFC3339, e.DateCreated) - if err != nil { - c.errChan <- fmt.Errorf("%v | Event: %v", err, e) - continue - } - timestamp := uint64(parsedTime.UnixMilli()) - // TODO: not to receive all the messages (use default integration timestamp) - if firstEvent { // TODO: reverse range? - c.requestData.SetLastMessageId(timestamp, e.EventID) - firstEvent = false - } - - var sessionID uint64 - var token string - for _, tag := range e.Tags { - if tag.Key == "openReplaySessionToken" { - token = tag.Value - break - } - if tag.Key == "asayer_session_id" { - sessionID, err = strconv.ParseUint(tag.Value, 10, 64) - break - } - } - if err != nil { - c.errChan <- err - continue - } - if token == "" && sessionID == 0 { // We can't felter them on request - continue - } - - c.evChan <- &SessionErrorEvent{ - SessionID: sessionID, - Token: token, - IntegrationEvent: &messages.IntegrationEvent{ - Source: "sentry", - Timestamp: timestamp, - Name: e.Title, - Payload: string(jsonEvent), - }, - } - } - - // check link before parsing body? - linkHeader := resp.Header.Get("Link") - if linkHeader == "" { - return fmt.Errorf("No Link header found in the responce.") - } - pagInfo := strings.Split(linkHeader, ",") - if len(pagInfo) < 2 { - return fmt.Errorf("Link header format error. Got: '%v'", linkHeader) - } - - nextLinkInfo := pagInfo[1] - if strings.Contains(nextLinkInfo, `results="false"`) { - break - } - if !strings.Contains(nextLinkInfo, `results="true"`) { - return fmt.Errorf("Link header format error. Results status not found. Got: '%v'", linkHeader) - } - nextLink := GetLinkFromAngularBrackets(nextLinkInfo) - req.URL, err = url.Parse(nextLink) - if err != nil { - return err - } + // Send the request + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + log.Fatalf("Failed to send request: %v", err) } - return nil + defer resp.Body.Close() + + // Check if the response status is OK + if resp.StatusCode != http.StatusOK { + log.Fatalf("Failed to fetch logs, status code: %v", resp.StatusCode) + } + + // Read the response body + body, err := io.ReadAll(resp.Body) + if err != nil { + log.Fatalf("Failed to read response body: %v", err) + } + + // Parse the JSON response + var events []SentryEvent + err = json.Unmarshal(body, &events) + if err != nil { + log.Fatalf("Failed to parse JSON: %v", err) + } + if events == nil || len(events) == 0 { + return nil, fmt.Errorf("no logs found") + } + + result, err := json.Marshal(events) + if err != nil { + return nil, err + } + return result, nil } diff --git a/backend/pkg/integrations/clients/sentry.json b/backend/pkg/integrations/clients/sentry.json deleted file mode 100644 index c9b791c6d..000000000 --- a/backend/pkg/integrations/clients/sentry.json +++ /dev/null @@ -1,4438 +0,0 @@ -[ - { - "eventID": "f07cccf7831043d48e4501d93455d646", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.9.29", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "91742e607f184afe9e58c3dd43fddcf1", - "key": "trace" - }, - { - "value": "91742e607f184afe9e58c3dd43fddcf1-89e01ba57559b01c", - "key": "trace.ctx" - }, - { - "value": "89e01ba57559b01c", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:51:14Z", - "user": null, - "message": "", - "id": "f07cccf7831043d48e4501d93455d646", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063197" - }, - { - "eventID": "d2601fd4b82145f1a8d754a03005688f", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.238.85", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:51:14Z", - "user": null, - "message": "", - "id": "d2601fd4b82145f1a8d754a03005688f", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116070824" - }, - { - "eventID": "a3ffd317170c4708a16fb4a999f39b90", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.152.29", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "8b2e42df2ada4b4b915deae3a8574a4e", - "key": "trace" - }, - { - "value": "8b2e42df2ada4b4b915deae3a8574a4e-826320136c93cabc", - "key": "trace.ctx" - }, - { - "value": "826320136c93cabc", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:51:14Z", - "user": null, - "message": "", - "id": "a3ffd317170c4708a16fb4a999f39b90", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063196" - }, - { - "eventID": "997490f56fa941b7b9546ad4493ded8e", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.14.137", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "5c689b0458234e71b56ad1fe57cb00ed", - "key": "trace" - }, - { - "value": "5c689b0458234e71b56ad1fe57cb00ed-aa3761a195b6383e", - "key": "trace.ctx" - }, - { - "value": "aa3761a195b6383e", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:51:14Z", - "user": null, - "message": "", - "id": "997490f56fa941b7b9546ad4493ded8e", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116236058" - }, - { - "eventID": "7387392f77ee4922a57440210e22bca1", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.198.37", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "36f2c208d1724c31a0b40dc3128e21be", - "key": "trace" - }, - { - "value": "36f2c208d1724c31a0b40dc3128e21be-9d1edbc0b4aec2d2", - "key": "trace.ctx" - }, - { - "value": "9d1edbc0b4aec2d2", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:38:15Z", - "user": null, - "message": "", - "id": "7387392f77ee4922a57440210e22bca1", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116236058" - }, - { - "eventID": "008aa9bac3b447539ce6f813880a6204", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.9.29", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "91742e607f184afe9e58c3dd43fddcf1", - "key": "trace" - }, - { - "value": "91742e607f184afe9e58c3dd43fddcf1-8064b97f218669e3", - "key": "trace.ctx" - }, - { - "value": "8064b97f218669e3", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:38:15Z", - "user": null, - "message": "", - "id": "008aa9bac3b447539ce6f813880a6204", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116070824" - }, - { - "eventID": "9080b39e779d4b4ebfdc723f1f46339d", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.179.21", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "2d3db3e3dd4e4c84992c7fc6299d2fb9", - "key": "trace" - }, - { - "value": "2d3db3e3dd4e4c84992c7fc6299d2fb9-b4f306612f165f1d", - "key": "trace.ctx" - }, - { - "value": "b4f306612f165f1d", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:38:14Z", - "user": null, - "message": "", - "id": "9080b39e779d4b4ebfdc723f1f46339d", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063197" - }, - { - "eventID": "7f6b5351867743f9a388d5c20b9123cb", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.9.29", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "91742e607f184afe9e58c3dd43fddcf1", - "key": "trace" - }, - { - "value": "91742e607f184afe9e58c3dd43fddcf1-8064b97f218669e3", - "key": "trace.ctx" - }, - { - "value": "8064b97f218669e3", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:38:14Z", - "user": null, - "message": "", - "id": "7f6b5351867743f9a388d5c20b9123cb", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "1540e3198824499c81da4f234088b931", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.52.5", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "61a8ed635f414436bedbb4c7c01f048f", - "key": "trace" - }, - { - "value": "61a8ed635f414436bedbb4c7c01f048f-ae9b1968b73aed0c", - "key": "trace.ctx" - }, - { - "value": "ae9b1968b73aed0c", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:38:14Z", - "user": null, - "message": "", - "id": "1540e3198824499c81da4f234088b931", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063196" - }, - { - "eventID": "97d968028d5e437e87b025dee96e6a0e", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.52.5", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "61a8ed635f414436bedbb4c7c01f048f", - "key": "trace" - }, - { - "value": "61a8ed635f414436bedbb4c7c01f048f-ae9b1968b73aed0c", - "key": "trace.ctx" - }, - { - "value": "ae9b1968b73aed0c", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:38:06Z", - "user": null, - "message": "", - "id": "97d968028d5e437e87b025dee96e6a0e", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "8414ffb72d574b00a2e183a89b8bbab2", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.238.85", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:46Z", - "user": null, - "message": "", - "id": "8414ffb72d574b00a2e183a89b8bbab2", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063196" - }, - { - "eventID": "5803d9ec146f4be8a3f5a8d302e8ddf3", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.52.5", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "61a8ed635f414436bedbb4c7c01f048f", - "key": "trace" - }, - { - "value": "61a8ed635f414436bedbb4c7c01f048f-95024f2f40862eeb", - "key": "trace.ctx" - }, - { - "value": "95024f2f40862eeb", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:46Z", - "user": null, - "message": "", - "id": "5803d9ec146f4be8a3f5a8d302e8ddf3", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063197" - }, - { - "eventID": "47b258ce392749d1970ba8806cfac3af", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.9.29", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "91742e607f184afe9e58c3dd43fddcf1", - "key": "trace" - }, - { - "value": "91742e607f184afe9e58c3dd43fddcf1-a9971d83e8d39ecc", - "key": "trace.ctx" - }, - { - "value": "a9971d83e8d39ecc", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:46Z", - "user": null, - "message": "", - "id": "47b258ce392749d1970ba8806cfac3af", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116236058" - }, - { - "eventID": "344dc8e9da5b45e79bd366afc726e71b", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.179.21", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "2d3db3e3dd4e4c84992c7fc6299d2fb9", - "key": "trace" - }, - { - "value": "2d3db3e3dd4e4c84992c7fc6299d2fb9-b4f306612f165f1d", - "key": "trace.ctx" - }, - { - "value": "b4f306612f165f1d", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:46Z", - "user": null, - "message": "", - "id": "344dc8e9da5b45e79bd366afc726e71b", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116070824" - }, - { - "eventID": "b8ee9ea891204a02b605b049001315b6", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.9.29", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:38Z", - "user": null, - "message": "", - "id": "b8ee9ea891204a02b605b049001315b6", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116236058" - }, - { - "eventID": "ad81ff00a30c4d38abb729358bd013ed", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.238.85", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:36Z", - "user": null, - "message": "", - "id": "ad81ff00a30c4d38abb729358bd013ed", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063196" - }, - { - "eventID": "9a0a2ba486c54b34a30146bc27b4a6d6", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.52.5", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:36Z", - "user": null, - "message": "", - "id": "9a0a2ba486c54b34a30146bc27b4a6d6", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116070824" - }, - { - "eventID": "679ba71075324ab18cd3d42d742ae84d", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.152.29", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:36Z", - "user": null, - "message": "", - "id": "679ba71075324ab18cd3d42d742ae84d", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063197" - }, - { - "eventID": "b00313a201034a3db253755c92cd515e", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.198.37", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:10Z", - "user": null, - "message": "", - "id": "b00313a201034a3db253755c92cd515e", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063196" - }, - { - "eventID": "da3dfb8f7a1e4971ac43444315003f20", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.14.137", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:09Z", - "user": null, - "message": "", - "id": "da3dfb8f7a1e4971ac43444315003f20", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116070824" - }, - { - "eventID": "f6e60cf553bb4d8a949cf11ec1878fd1", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.179.21", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:08Z", - "user": null, - "message": "", - "id": "f6e60cf553bb4d8a949cf11ec1878fd1", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116236058" - }, - { - "eventID": "4a6a45f345df4a35b3b43a21187db677", - "tags": [ - { - "value": "525314475541266774", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.238.85", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-10T05:36:07Z", - "user": null, - "message": "", - "id": "4a6a45f345df4a35b3b43a21187db677", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_494, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063197" - }, - { - "eventID": "871da51bfd7d4c8f85bba05f7830e34f", - "tags": [ - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "parrot", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.10", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.210.77", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-07T01:38:41Z", - "user": null, - "message": "Internal Error for ", - "id": "871da51bfd7d4c8f85bba05f7830e34f", - "culprit": "app in login", - "title": "KeyError: 'email'", - "platform": "python", - "location": "app.py", - "crashFile": null, - "event.type": "error", - "groupID": "1430828026" - }, - { - "eventID": "ad9310581f0e40508c3245f75c6613ad", - "tags": [ - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "parrot", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.151.229", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-05T15:59:49Z", - "user": null, - "message": "Internal Error for ", - "id": "ad9310581f0e40508c3245f75c6613ad", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "RequestError: RequestError(400, 'invalid_index_name_exception', 'Invalid index name [resources_", - "id": "54a3be2a2a3c47fbb0e47192a7676945", - "culprit": "psycopg2.extras in execute", - "title": "TypeError: 'int' object does not support indexing", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1321104332" - }, - { - "eventID": "fd419f7de2334b8d80263ee246bc2757", - "tags": [ - { - "value": "518443449861084160", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.13.157", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-05T11:22:53Z", - "user": null, - "message": "", - "id": "fd419f7de2334b8d80263ee246bc2757", - "culprit": "chalicelib.sessions in search2_pg", - "title": "IndexError: tuple index out of range", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1342967916" - }, - { - "eventID": "259df7fe53094607ac763e43fcdb6490", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.62.229", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-05T10:02:09Z", - "user": null, - "message": "", - "id": "259df7fe53094607ac763e43fcdb6490", - "culprit": "chalicelib.sessions in search_by_metadata", - "title": "KeyError: 454", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1363409660" - }, - { - "eventID": "f4b493e8075145ddbad1bf74d9e097cd", - "tags": [ - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.214.93", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-05T09:25:32Z", - "user": null, - "message": "", - "id": "f4b493e8075145ddbad1bf74d9e097cd", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "4a71fbacc1114ce196df0fb4366429fd", - "tags": [ - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "parrot", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.214.77", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-05T09:22:35Z", - "user": null, - "message": "Internal Error for ", - "id": "4a71fbacc1114ce196df0fb4366429fd", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "RequestError: RequestError(400, 'invalid_index_name_exception', 'Invalid index name [resources_", - "id": "54898e0197934faab9ab73dea8218244", - "culprit": "psycopg2.extras in execute", - "title": "TypeError: 'int' object does not support indexing", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1321104332" - }, - { - "eventID": "b0f52d9012ef4f85a323c897380634e6", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.60.73", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:14:02Z", - "user": null, - "message": "", - "id": "b0f52d9012ef4f85a323c897380634e6", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "30820461bc274b8383722ed8c0a84e77", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.132.245", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:14:02Z", - "user": null, - "message": "", - "id": "30820461bc274b8383722ed8c0a84e77", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "fdcf7433ce704285a7e97340db850cc7", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.132.245", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:13:49Z", - "user": null, - "message": "", - "id": "fdcf7433ce704285a7e97340db850cc7", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_483, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063196" - }, - { - "eventID": "789d6509476745eb9207ba87eeea0a14", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.60.73", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:13:49Z", - "user": null, - "message": "", - "id": "789d6509476745eb9207ba87eeea0a14", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_483, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116070824" - }, - { - "eventID": "a2e9e496e3334e37909628f03740a11d", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.178.125", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:13:47Z", - "user": null, - "message": "", - "id": "a2e9e496e3334e37909628f03740a11d", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_483, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116236058" - }, - { - "eventID": "64011a721b774f50b0a757c89a85f54e", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.44.61", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:13:47Z", - "user": null, - "message": "", - "id": "64011a721b774f50b0a757c89a85f54e", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_483, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063197" - }, - { - "eventID": "ea8a88c67cd74825b756d926e0c68067", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.166.189", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:05:44Z", - "user": null, - "message": "", - "id": "ea8a88c67cd74825b756d926e0c68067", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "3f1449f697674487bd22e41edf7e42c9", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.236.101", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:05:44Z", - "user": null, - "message": "", - "id": "3f1449f697674487bd22e41edf7e42c9", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "ccb26875e0254082aa8eb0c91ffab3c4", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.109.181", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:05:42Z", - "user": null, - "message": "", - "id": "ccb26875e0254082aa8eb0c91ffab3c4", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "a2b33db153ab4a01a3938a218602ffce", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.109.181", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:05:29Z", - "user": null, - "message": "", - "id": "a2b33db153ab4a01a3938a218602ffce", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_483, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063196" - }, - { - "eventID": "6a9a938c7baa4f77be9c0d288949e483", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.236.101", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:05:29Z", - "user": null, - "message": "", - "id": "6a9a938c7baa4f77be9c0d288949e483", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_483, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063197" - }, - { - "eventID": "1412c00082004f61a88690a719f674d4", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.166.189", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:05:29Z", - "user": null, - "message": "", - "id": "1412c00082004f61a88690a719f674d4", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_483, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116236058" - }, - { - "eventID": "0c36633cecfe45ff8e33f722110dd038", - "tags": [ - { - "value": "517219005934528592", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.137.85", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T15:05:29Z", - "user": null, - "message": "", - "id": "0c36633cecfe45ff8e33f722110dd038", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_483, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116070824" - }, - { - "eventID": "5c944c11c52b4393b32d11dc4192d12e", - "tags": [ - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "parrot", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.44.61", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-02-04T14:51:34Z", - "user": null, - "message": "Internal Error for ", - "id": "5c944c11c52b4393b32d11dc4192d12e", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "RequestError: RequestError(400, 'invalid_index_name_exception', 'Invalid index name [resources_", - "id": "d4fcbeac21a94c4aa93cbb43e0ca9f69", - "culprit": "psycopg2.extras in execute", - "title": "TypeError: 'int' object does not support indexing", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1321104332" - }, - { - "eventID": "b11f94ca49cc44a9945ac1323af3dac3", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.146.69", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-31T15:39:56Z", - "user": null, - "message": "", - "id": "b11f94ca49cc44a9945ac1323af3dac3", - "culprit": "psycopg2.extras in execute", - "title": "InvalidTextRepresentation: invalid input syntax for integer: \"search\"", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1487659217" - }, - { - "eventID": "1cb8fc38dec044d280c8cc0476189b37", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.219.173", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-31T05:47:45Z", - "user": null, - "message": "", - "id": "1cb8fc38dec044d280c8cc0476189b37", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "8136adbc1f8d4b6abec9a0fcb9156fbc", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.219.173", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-31T05:47:25Z", - "user": null, - "message": "", - "id": "8136adbc1f8d4b6abec9a0fcb9156fbc", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "d82526781cb74d9fafe86b0caae5a50e", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.219.173", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-31T05:46:56Z", - "user": null, - "message": "", - "id": "d82526781cb74d9fafe86b0caae5a50e", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "92cd1ede67f545f989456032d8e9ef2e", - "tags": [ - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "parrot", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.181.61", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-31T03:16:59Z", - "user": null, - "message": "Internal Error for ", - "id": "92cd1ede67f545f989456032d8e9ef2e", - "culprit": "psycopg2.extras in execute", - "title": "TypeError: 'int' object does not support indexing", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1321104332" - }, - { - "eventID": "aebbbb2dd7ae47bbaba5007064cc1f64", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.35.105", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T12:41:23Z", - "user": null, - "message": "", - "id": "aebbbb2dd7ae47bbaba5007064cc1f64", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "039279990d1246b180b817239670cce1", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.238.149", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T12:34:55Z", - "user": null, - "message": "", - "id": "039279990d1246b180b817239670cce1", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "70a34d3638cb4ba98796e8f525d076af", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.112.77", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T12:34:04Z", - "user": null, - "message": "", - "id": "70a34d3638cb4ba98796e8f525d076af", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "9b09718595244c1f9bdb6c5fae7b2642", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.97.221", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T12:33:57Z", - "user": null, - "message": "", - "id": "9b09718595244c1f9bdb6c5fae7b2642", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "d49f291e62cd488f8126223cadaf4bf0", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.112.77", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T12:08:48Z", - "user": null, - "message": "", - "id": "d49f291e62cd488f8126223cadaf4bf0", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "fcd2150f33be4aaea317bee6ab4c5753", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.112.77", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T12:08:26Z", - "user": null, - "message": "", - "id": "fcd2150f33be4aaea317bee6ab4c5753", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "80276deb85df4d65b6467fed7e2cab9b", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.182.213", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T12:06:48Z", - "user": null, - "message": "", - "id": "80276deb85df4d65b6467fed7e2cab9b", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "93965953f2054e5cb8dd12343b8e1310", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.35.105", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T12:04:58Z", - "user": null, - "message": "", - "id": "93965953f2054e5cb8dd12343b8e1310", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "a19aa2b29da94e5c8e79bfd99e28979b", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.96.221", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T12:04:07Z", - "user": null, - "message": "", - "id": "a19aa2b29da94e5c8e79bfd99e28979b", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "c0e4017b1349495f9dde0545aa5f3b41", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.44.189", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T10:02:03Z", - "user": null, - "message": "", - "id": "c0e4017b1349495f9dde0545aa5f3b41", - "culprit": "chalicelib.sessions in search2_pg", - "title": "IndexError: tuple index out of range", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1342967916" - }, - { - "eventID": "26589f5ffbbd4511b5cbc54e1977cb03", - "tags": [ - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.44.189", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-30T09:57:11Z", - "user": null, - "message": "", - "id": "26589f5ffbbd4511b5cbc54e1977cb03", - "culprit": "chalicelib.sessions in search2_pg", - "title": "IndexError: tuple index out of range", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1342967916" - }, - { - "eventID": "60bcb30ad66e431fad1dadc1049e9471", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.32.213", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "9bb4c80672d14d1698763cfde36c938a", - "key": "trace" - }, - { - "value": "9bb4c80672d14d1698763cfde36c938a-9ffd91f46356078b", - "key": "trace.ctx" - }, - { - "value": "9ffd91f46356078b", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:48:00Z", - "user": null, - "message": "", - "id": "60bcb30ad66e431fad1dadc1049e9471", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "63c86a6f9a0d47418451b8bb2bfc85a9", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.32.213", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:44:34Z", - "user": null, - "message": "", - "id": "63c86a6f9a0d47418451b8bb2bfc85a9", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column s.console_log_count does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1355521385" - }, - { - "eventID": "b2cc1698df4d4391a65906957606b67b", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.180.109", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "34bc65135869438b85c1951ef428bc69", - "key": "trace" - }, - { - "value": "34bc65135869438b85c1951ef428bc69-9db631c2787505cf", - "key": "trace.ctx" - }, - { - "value": "9db631c2787505cf", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:44:26Z", - "user": null, - "message": "", - "id": "b2cc1698df4d4391a65906957606b67b", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column s.console_log_count does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1355521385" - }, - { - "eventID": "d71f68e590204a27b8ee65b6fce02273", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.32.213", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:43:55Z", - "user": null, - "message": "", - "id": "d71f68e590204a27b8ee65b6fce02273", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column s.console_log_count does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1355521385" - }, - { - "eventID": "dd5f5c0d689943cf9e8ba84000559e17", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.180.109", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:43:48Z", - "user": null, - "message": "", - "id": "dd5f5c0d689943cf9e8ba84000559e17", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column s.console_log_count does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1355521385" - }, - { - "eventID": "fe0b3a8c3c8540fbb0f931596419b128", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.242.205", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "f8aa019bc95d42d6bc3124462d8b91f6", - "key": "trace" - }, - { - "value": "f8aa019bc95d42d6bc3124462d8b91f6-b07924e62d9973a0", - "key": "trace.ctx" - }, - { - "value": "b07924e62d9973a0", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:43:39Z", - "user": null, - "message": "", - "id": "fe0b3a8c3c8540fbb0f931596419b128", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column s.console_log_count does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1355521385" - }, - { - "eventID": "720cfec0987c4d1aa5db1902201db587", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.70.253", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "09cd4e6592ac4025a6d22b9235cec8d6", - "key": "trace" - }, - { - "value": "09cd4e6592ac4025a6d22b9235cec8d6-bd58b560cda37495", - "key": "trace.ctx" - }, - { - "value": "bd58b560cda37495", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:43:20Z", - "user": null, - "message": "", - "id": "720cfec0987c4d1aa5db1902201db587", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column s.console_log_count does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1355521385" - }, - { - "eventID": "19e8db755d1149f2bf393669912aaaf1", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.70.253", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:42:35Z", - "user": null, - "message": "", - "id": "19e8db755d1149f2bf393669912aaaf1", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column s.console_log_count does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1355521385" - }, - { - "eventID": "4a2d46c549a344e989197cf106fb914e", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.242.205", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:42:23Z", - "user": null, - "message": "", - "id": "4a2d46c549a344e989197cf106fb914e", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column s.console_log_count does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1355521385" - }, - { - "eventID": "1ee2a3e3f74d45f0a75288eb312e34c5", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.132.69", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:41:15Z", - "user": null, - "message": "", - "id": "1ee2a3e3f74d45f0a75288eb312e34c5", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column s.console_log_count does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1355521385" - }, - { - "eventID": "e6b6417f26d24b2ea25c575bd09e0aa5", - "tags": [ - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.180.109", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:23:49Z", - "user": null, - "message": "", - "id": "e6b6417f26d24b2ea25c575bd09e0aa5", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "e288fbe341f34f069136ef7b4feef46b", - "tags": [ - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "parrot", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.180.109", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:23:15Z", - "user": null, - "message": "Internal Error for ", - "id": "e288fbe341f34f069136ef7b4feef46b", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "RequestError: RequestError(400, 'invalid_index_name_exception', 'Invalid index name [resources_", - "id": "8df03f0f93224369a4555a56e43a340a", - "culprit": "psycopg2.extras in execute", - "title": "TypeError: 'int' object does not support indexing", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1321104332" - }, - { - "eventID": "a4ca36db2ec540b0b11992f720e4338f", - "tags": [ - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.23.109", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:23:12Z", - "user": null, - "message": "", - "id": "a4ca36db2ec540b0b11992f720e4338f", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "afc1816db4fb4127ae5e3102f408bd56", - "tags": [ - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "parrot", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.23.109", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:22:12Z", - "user": null, - "message": "Internal Error for ", - "id": "afc1816db4fb4127ae5e3102f408bd56", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "RequestError: RequestError(400, 'invalid_index_name_exception', 'Invalid index name [resources_", - "id": "423d5cbb1e07428baa6575fd394b014e", - "culprit": "psycopg2.extras in execute", - "title": "TypeError: 'int' object does not support indexing", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1321104332" - }, - { - "eventID": "e32635c1c97a4de78e3edc2f6b683a79", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.126.29", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:14:27Z", - "user": null, - "message": "", - "id": "e32635c1c97a4de78e3edc2f6b683a79", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "8df9ffd4acdd466785a4acb767441cea", - "tags": [ - { - "value": "496927055579173623", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.126.29", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T15:10:41Z", - "user": null, - "message": "", - "id": "8df9ffd4acdd466785a4acb767441cea", - "culprit": "psycopg2.extras in execute", - "title": "UndefinedColumn: column \"filters\" of relation \"filters\" does not exist", - "platform": "python", - "location": "psycopg2/extras.py", - "crashFile": null, - "event.type": "error", - "groupID": "1306789194" - }, - { - "eventID": "43843ccce0904d30a6de81d16aff2fd2", - "tags": [ - { - "value": "496888723695543585", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.13.157", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "3d3e4136eb7f4db69f3f28d847745782", - "key": "trace" - }, - { - "value": "3d3e4136eb7f4db69f3f28d847745782-a5596feb6edcf697", - "key": "trace.ctx" - }, - { - "value": "a5596feb6edcf697", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T14:35:56Z", - "user": null, - "message": "", - "id": "43843ccce0904d30a6de81d16aff2fd2", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "75506c1c20c64431a24cf3a0c918fce1", - "tags": [ - { - "value": "496888723695543585", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.13.157", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "3d3e4136eb7f4db69f3f28d847745782", - "key": "trace" - }, - { - "value": "3d3e4136eb7f4db69f3f28d847745782-a79977809b88b89c", - "key": "trace.ctx" - }, - { - "value": "a79977809b88b89c", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T14:35:54Z", - "user": null, - "message": "", - "id": "75506c1c20c64431a24cf3a0c918fce1", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "2c86ba13b3cd48188112994e12da7fe4", - "tags": [ - { - "value": "496888723695543585", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.13.157", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - }, - { - "value": "3d3e4136eb7f4db69f3f28d847745782", - "key": "trace" - }, - { - "value": "3d3e4136eb7f4db69f3f28d847745782-873289cca1462152", - "key": "trace.ctx" - }, - { - "value": "873289cca1462152", - "key": "trace.span" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T14:35:47Z", - "user": null, - "message": "", - "id": "2c86ba13b3cd48188112994e12da7fe4", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "aed00b6d56304b468b0851c6a2051f8a", - "tags": [ - { - "value": "496888723695543585", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.13.157", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T14:35:28Z", - "user": null, - "message": "", - "id": "aed00b6d56304b468b0851c6a2051f8a", - "culprit": "chalicelib.sessions in search2_pg", - "title": "ProgrammingError: argument formats can't be mixed", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341564580" - }, - { - "eventID": "a2faad5f419241a0951c63510c1bc532", - "tags": [ - { - "value": "496539098302424786", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.67.141", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T08:43:13Z", - "user": null, - "message": "", - "id": "a2faad5f419241a0951c63510c1bc532", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "eaf2b36857264f64b7e20f06fb993a91", - "tags": [ - { - "value": "496539098302424786", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.10.205", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T08:42:39Z", - "user": null, - "message": "", - "id": "eaf2b36857264f64b7e20f06fb993a91", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "648ad2698ef04ab08e9e25b7fc1b307e", - "tags": [ - { - "value": "496539098302424786", - "key": "asayer_session_id" - }, - { - "value": "no", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "threading", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.104.37", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T08:42:39Z", - "user": null, - "message": "", - "id": "648ad2698ef04ab08e9e25b7fc1b307e", - "culprit": "requests.adapters in send", - "title": "SSLError: HTTPSConnectionPool(host='notify.bugsnag.com', port=443): Max retries exceeded with url: / (Cause...", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1265908049" - }, - { - "eventID": "3bc286b53a2f4a0d8394a0c723153936", - "tags": [ - { - "value": "496539098302424786", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.10.205", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T08:41:56Z", - "user": null, - "message": "", - "id": "3bc286b53a2f4a0d8394a0c723153936", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_477, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116070824" - }, - { - "eventID": "68af914e0b694dd1986e3f18692b1e70", - "tags": [ - { - "value": "496539098302424786", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.104.37", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T08:41:53Z", - "user": null, - "message": "", - "id": "68af914e0b694dd1986e3f18692b1e70", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_477, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063197" - }, - { - "eventID": "65cce0e929bc4a7a92b6344ee2e8b14c", - "tags": [ - { - "value": "496539098302424786", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.67.141", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T08:41:53Z", - "user": null, - "message": "", - "id": "65cce0e929bc4a7a92b6344ee2e8b14c", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_477, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063196" - }, - { - "eventID": "5f88471651a349c3b16e13443255618d", - "tags": [ - { - "value": "496539098302424786", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.104.109", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-21T08:41:53Z", - "user": null, - "message": "", - "id": "5f88471651a349c3b16e13443255618d", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_477, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116236058" - }, - { - "eventID": "705045e17e144d3b8f7059d121962a63", - "tags": [ - { - "value": "495408099984196478", - "key": "asayer_session_id" - }, - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "parrot", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.87.237", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-20T14:57:47Z", - "user": null, - "message": "Internal Error for ._register_view.._view_func at 0x7f6814a242f0>", - "id": "705045e17e144d3b8f7059d121962a63", - "culprit": "chalicelib.sessions in search_by_metadata", - "title": "KeyError: 454", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1457168623" - }, - { - "eventID": "0236bc697a634270ac5b1dcaab0b571f", - "tags": [ - { - "value": "495408099984196478", - "key": "asayer_session_id" - }, - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "rollbar", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.87.237", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-20T14:57:46Z", - "user": null, - "message": "Exception while posting item \"ReadTimeout(ReadTimeoutError(\\\"HTTPSConnectionPool(host='api.rollbar.com', port=443): Read timed out. (read timeout=3)\\\",),)\"", - "id": "0236bc697a634270ac5b1dcaab0b571f", - "culprit": "requests.adapters in send", - "title": "ReadTimeout: HTTPSConnectionPool(host='api.rollbar.com', port=443): Read timed out. (read timeout=3)", - "platform": "python", - "location": "requests/adapters.py", - "crashFile": null, - "event.type": "error", - "groupID": "1341662732" - }, - { - "eventID": "7a8313d3920a4957b231a4005063adb4", - "tags": [ - { - "value": "495408099984196478", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.87.237", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-20T14:57:33Z", - "user": null, - "message": "", - "id": "7a8313d3920a4957b231a4005063adb4", - "culprit": "chalicelib.sessions in search_by_metadata", - "title": "KeyError: 454", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1363409660" - }, - { - "eventID": "4d9bd0d9c4e64141bf47a113e5a3ebcb", - "tags": [ - { - "value": "495408099984196478", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.215.85", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-20T14:55:07Z", - "user": null, - "message": "", - "id": "4d9bd0d9c4e64141bf47a113e5a3ebcb", - "culprit": "chalicelib.sessions in search_by_metadata", - "title": "KeyError: 454", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1363409660" - }, - { - "eventID": "d7da03a8b0c14a87a0a842a6d1c80802", - "tags": [ - { - "value": "495408099984196478", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.137.37", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-20T14:00:45Z", - "user": null, - "message": "", - "id": "d7da03a8b0c14a87a0a842a6d1c80802", - "culprit": "chalicelib.sessions in search_by_metadata", - "title": "KeyError: 454", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1363409660" - }, - { - "eventID": "37f3b106d22c4a379fc6a08d3895262e", - "tags": [ - { - "value": "495408099984196478", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.42.81", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-20T13:57:27Z", - "user": null, - "message": "", - "id": "37f3b106d22c4a379fc6a08d3895262e", - "culprit": "chalicelib.sessions in search_by_metadata", - "title": "KeyError: 454", - "platform": "python", - "location": "/var/task/chalicelib/sessions.py", - "crashFile": null, - "event.type": "error", - "groupID": "1363409660" - }, - { - "eventID": "7ceff8b3b2d14717a7a084d9bd8b6f0c", - "tags": [ - { - "value": "yes", - "key": "handled" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "parrot", - "key": "logger" - }, - { - "value": "logging", - "key": "mechanism" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.213.61", - "key": "server_name" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-16T17:00:09Z", - "user": null, - "message": "Internal Error for ", - "id": "7ceff8b3b2d14717a7a084d9bd8b6f0c", - "culprit": "app in login", - "title": "KeyError: 'email'", - "platform": "python", - "location": "app.py", - "crashFile": null, - "event.type": "error", - "groupID": "1430828026" - }, - { - "eventID": "f1d6e7bdc7fb45b9a0e7497e04a154b1", - "tags": [ - { - "value": "489170522397413008", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.53.141", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-16T07:18:25Z", - "user": null, - "message": "", - "id": "f1d6e7bdc7fb45b9a0e7497e04a154b1", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_476, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063197" - }, - { - "eventID": "321d91bac073407a8a8db6f1d6f4db9a", - "tags": [ - { - "value": "489170522397413008", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.247.229", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-16T07:18:25Z", - "user": null, - "message": "", - "id": "321d91bac073407a8a8db6f1d6f4db9a", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_476, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116063196" - }, - { - "eventID": "23d88885741a403689f92f26cb1e4808", - "tags": [ - { - "value": "489170522397413008", - "key": "asayer_session_id" - }, - { - "value": "error", - "key": "level" - }, - { - "value": "CPython 3.6.9", - "key": "runtime" - }, - { - "value": "CPython", - "key": "runtime.name" - }, - { - "value": "169.254.75.53", - "key": "server_name" - }, - { - "value": "prod", - "key": "stage" - } - ], - "projectID": "1485249", - "dateCreated": "2020-01-16T07:18:25Z", - "user": null, - "message": "", - "id": "23d88885741a403689f92f26cb1e4808", - "culprit": "elasticsearch.connection.base in _raise_error", - "title": "NotFoundError: NotFoundError(404, 'index_not_found_exception', 'no such index', resources_476, index_or_alias)", - "platform": "python", - "location": "elasticsearch/connection/base.py", - "crashFile": null, - "event.type": "error", - "groupID": "1116236058" - } -] \ No newline at end of file diff --git a/backend/pkg/integrations/clients/stackdriver.go b/backend/pkg/integrations/clients/stackdriver.go deleted file mode 100644 index 4f63ce954..000000000 --- a/backend/pkg/integrations/clients/stackdriver.go +++ /dev/null @@ -1,100 +0,0 @@ -package clients - -import ( - "cloud.google.com/go/logging/logadmin" - "google.golang.org/api/iterator" - "google.golang.org/api/option" - //"strconv" - "context" - "encoding/json" - "fmt" - "time" - - "openreplay/backend/pkg/messages" -) - -// Old: asayerSessionId - -const SD_FILTER_QUERY = ` - logName = "projects/%v/logs/%v" - labels.openReplaySessionToken!=null AND - severity>=ERROR AND - timestamp>="%v" -` - -type stackdriver struct { - ServiceAccountCredentials string // `json:"service_account_credentials"` - LogName string // `json:"log_name"` -} - -type saCreds struct { - ProjectId string `json:"project_id"` -} - -func (sd *stackdriver) Request(c *client) error { - fromTs := c.requestData.GetLastMessageTimestamp() + 1 // Timestamp is RFC3339Nano, so we take the next millisecond - fromFormatted := time.UnixMilli(int64(fromTs)).Format(time.RFC3339Nano) - ctx := context.Background() - - var parsedCreds saCreds - err := json.Unmarshal([]byte(sd.ServiceAccountCredentials), &parsedCreds) - if err != nil { - return err - } - - opt := option.WithCredentialsJSON([]byte(sd.ServiceAccountCredentials)) - client, err := logadmin.NewClient(ctx, parsedCreds.ProjectId, opt) - if err != nil { - return err - } - defer client.Close() - - filter := fmt.Sprintf(SD_FILTER_QUERY, parsedCreds.ProjectId, sd.LogName, fromFormatted) - // By default, Entries are listed from oldest to newest. - /* ResourceNames(rns []string) - "projects/[PROJECT_ID]" - "organizations/[ORGANIZATION_ID]" - "billingAccounts/[BILLING_ACCOUNT_ID]" - "folders/[FOLDER_ID]" - */ - it := client.Entries(ctx, logadmin.Filter(filter)) - - // TODO: Pagination: - //pager := iterator.NewPager(it, 1000, "") - //nextToken, err := pager.NextPage(&entries) - //if nextToken == "" { break } - for { - e, err := it.Next() - if err == iterator.Done { - break - } - if err != nil { - return err - } - - token := e.Labels["openReplaySessionToken"] - // sessionID, err := strconv.ParseUint(strSessionID, 10, 64) - // if err != nil { - // c.errChan <- err - // continue - // } - jsonEvent, err := json.Marshal(e) - if err != nil { - c.errChan <- err - continue - } - timestamp := uint64(e.Timestamp.UnixMilli()) - c.requestData.SetLastMessageTimestamp(timestamp) - c.evChan <- &SessionErrorEvent{ - //SessionID: sessionID, - Token: token, - IntegrationEvent: &messages.IntegrationEvent{ - Source: "stackdriver", - Timestamp: timestamp, - Name: e.InsertID, // not sure about that - Payload: string(jsonEvent), - }, - } - } - return nil -} diff --git a/backend/pkg/integrations/clients/sumologic.go b/backend/pkg/integrations/clients/sumologic.go deleted file mode 100644 index d189da8bc..000000000 --- a/backend/pkg/integrations/clients/sumologic.go +++ /dev/null @@ -1,215 +0,0 @@ -package clients - -import ( - "encoding/json" - "fmt" - "io" - "net/http" - "strings" - "time" - - "openreplay/backend/pkg/messages" -) - -/* -The maximum value for limit is 10,000 messages or 100 MB in total message size, -which means the query may return less than 10,000 messages if you exceed the size limit. - -API Documentation: https://help.sumologic.com/APIs/Search-Job-API/About-the-Search-Job-API -*/ -const SL_LIMIT = 10000 - -type sumologic struct { - AccessId string // `json:"access_id"` - AccessKey string // `json:"access_key"` - cookies []*http.Cookie -} - -type sumplogicJobResponce struct { - Id string -} - -type sumologicJobStatusResponce struct { - State string - MessageCount int - //PendingErrors []string -} - -type sumologicResponce struct { - Messages []struct { - Map json.RawMessage - } -} - -type sumologicEvent struct { - Timestamp uint64 `json:"_messagetime,string"` - Raw string `json:"_raw"` -} - -func (sl *sumologic) deleteJob(jobId string, errChan chan<- error) { - requestURL := fmt.Sprintf("https://api.%vsumologic.com/api/v1/search/jobs/%v", "eu.", jobId) - req, err := http.NewRequest("DELETE", requestURL, nil) - if err != nil { - errChan <- fmt.Errorf("Error on DELETE request creation: %v", err) - return - } - req.Header.Add("Content-Type", "application/json") - req.Header.Add("Accept", "application/json") - req.SetBasicAuth(sl.AccessId, sl.AccessKey) - resp, err := http.DefaultClient.Do(req) - if err != nil { - errChan <- fmt.Errorf("Error on DELETE request: %v", err) - return - } - io.Copy(io.Discard, resp.Body) - resp.Body.Close() -} - -func (sl *sumologic) Request(c *client) error { - fromTs := c.requestData.GetLastMessageTimestamp() + 1 // From next millisecond - toTs := time.Now().UnixMilli() - requestURL := fmt.Sprintf("https://api.%vsumologic.com/api/v1/search/jobs", "eu.") // deployment server?? - jsonBody := fmt.Sprintf(`{ - "query": "\"openReplaySessionToken=\" AND (*error* OR *fail* OR *exception*)", - "from": %v, - "to": %v - }`, fromTs, toTs) // docs and api are awful. from/to seems to work inclusively - req, err := http.NewRequest("POST", requestURL, strings.NewReader(jsonBody)) - if err != nil { - return err - } - //q := req.URL.Query() - //q.Add("query", "\"asayer_session_id=\" AND (*error* OR *fail* OR *exception*)") - //q.Add("from", ) - //q.Add("to") - //q.Add("timeZone", "UTC") - //q.Add("byReceiptTime", "true") - - for _, cookie := range sl.cookies { - req.AddCookie(cookie) - } - - req.Header.Add("Content-Type", "application/json") - req.Header.Add("Accept", "application/json") - req.SetBasicAuth(sl.AccessId, sl.AccessKey) - - resp, err := http.DefaultClient.Do(req) - if err != nil { - return fmt.Errorf("Error while requesting search job start: %v", err) - } - defer resp.Body.Close() - - // Can be 202/400/415 according to docs - // https://help.sumologic.com/APIs/Search-Job-API/About-the-Search-Job-API#status-codes - // responce body is NOT the same as in docs (look at the sumologic_job_start.json) - if resp.StatusCode >= 400 { - io.Copy(io.Discard, resp.Body) // Read the body to free socket - return fmt.Errorf("Sumologic: server respond with the code %v | req %v |Resp: %v", resp.StatusCode, *req, *resp) - } - sl.cookies = resp.Cookies() - - var jobResponce sumplogicJobResponce - if err = json.NewDecoder(resp.Body).Decode(&jobResponce); err != nil { - return fmt.Errorf("Error on parsing responce: %v", err) - } - - defer sl.deleteJob(jobResponce.Id, c.errChan) - - requestURL = fmt.Sprintf("https://api.%vsumologic.com/api/v1/search/jobs/%v", "eu.", jobResponce.Id) - req, err = http.NewRequest("GET", requestURL, nil) - if err != nil { - return err - } - req.Header.Add("Accept", "application/json") - req.SetBasicAuth(sl.AccessId, sl.AccessKey) - for _, cookie := range sl.cookies { - req.AddCookie(cookie) - } - - tick := time.Tick(5 * time.Second) - for { - <-tick - resp, err = http.DefaultClient.Do(req) - if err != nil { - return err // TODO: retry, counter/timeout - } - defer resp.Body.Close() - // TODO: check resp.StatusCode - //sl.cookies = resp.Cookies() TODO? - var jobStatus sumologicJobStatusResponce - err := json.NewDecoder(resp.Body).Decode(&jobStatus) - if err != nil { - return err // TODO: retry, counter/timeout - } - if jobStatus.State == "DONE GATHERING RESULTS" { - offset := 0 - for offset < jobStatus.MessageCount { - requestURL = fmt.Sprintf( - "https://api.%vsumologic.com/api/v1/search/jobs/%v/messages?offset=%v&limit=%v", - "eu.", - jobResponce.Id, - offset, - SL_LIMIT, - ) - req, err = http.NewRequest("GET", requestURL, nil) - if err != nil { - return err // TODO: retry, counter/timeout - } - req.Header.Add("Accept", "application/json") - req.SetBasicAuth(sl.AccessId, sl.AccessKey) - for _, cookie := range sl.cookies { - req.AddCookie(cookie) - } - resp, err = http.DefaultClient.Do(req) - if err != nil { - return err - } - defer resp.Body.Close() - - var slResp sumologicResponce - err := json.NewDecoder(resp.Body).Decode(&slResp) - if err != nil { - return err - } - for _, m := range slResp.Messages { - var e sumologicEvent - err = json.Unmarshal(m.Map, &e) - if err != nil { - c.errChan <- err - continue - } - - token, err := GetToken(e.Raw) - if err != nil { - c.errChan <- err - continue - } - name := e.Raw - if len(name) > 20 { - name = name[:20] // not sure about that - } - c.requestData.SetLastMessageTimestamp(e.Timestamp) - c.evChan <- &SessionErrorEvent{ - //SessionID: sessionID, - Token: token, - IntegrationEvent: &messages.IntegrationEvent{ - Source: "sumologic", - Timestamp: e.Timestamp, - Name: name, - Payload: string(m.Map), //e.Raw ? - }, - } - - } - offset += len(slResp.Messages) - } - break - } - if jobStatus.State != "NOT STARTED" && - jobStatus.State != "GATHERING RESULTS" { - // error - break - } - } - return nil -} diff --git a/backend/pkg/integrations/clients/sumologic_error.json b/backend/pkg/integrations/clients/sumologic_error.json deleted file mode 100644 index c48ebd514..000000000 --- a/backend/pkg/integrations/clients/sumologic_error.json +++ /dev/null @@ -1,6 +0,0 @@ -{ -"status": 400, -"id": "EV5YQ-N96Y8-RNDUF", -"code": "searchjob.offset.missing", -"message": "Offset is missing." -} \ No newline at end of file diff --git a/backend/pkg/integrations/clients/sumologic_job_result.json b/backend/pkg/integrations/clients/sumologic_job_result.json deleted file mode 100644 index fed5c051f..000000000 --- a/backend/pkg/integrations/clients/sumologic_job_result.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "fields": [ - { - "name": "_blockid", - "fieldType": "long", - "keyField": false - }, - { - "name": "_collector", - "fieldType": "string", - "keyField": false - }, - { - "name": "_collectorid", - "fieldType": "long", - "keyField": false - }, - { - "name": "_format", - "fieldType": "string", - "keyField": false - }, - { - "name": "_messagecount", - "fieldType": "int", - "keyField": false - }, - { - "name": "_messageid", - "fieldType": "long", - "keyField": false - }, - { - "name": "_messagetime", - "fieldType": "long", - "keyField": false - }, - { - "name": "_raw", - "fieldType": "string", - "keyField": false - }, - { - "name": "_receipttime", - "fieldType": "long", - "keyField": false - }, - { - "name": "_size", - "fieldType": "long", - "keyField": false - }, - { - "name": "_source", - "fieldType": "string", - "keyField": false - }, - { - "name": "_sourcecategory", - "fieldType": "string", - "keyField": false - }, - { - "name": "_sourcehost", - "fieldType": "string", - "keyField": false - }, - { - "name": "_sourceid", - "fieldType": "long", - "keyField": false - }, - { - "name": "_sourcename", - "fieldType": "string", - "keyField": false - }, - { - "name": "_view", - "fieldType": "string", - "keyField": false - } - ], - "messages": [ - { - "map": { - "_blockid": "-9223372036854750790", - "_messagetime": "1582286762789", - "_raw": "ZeroDivisionError: [asayer_session_id=9999999999] division by zero", - "_collectorid": "108084884", - "_sourceid": "148051672", - "_collector": "new-relic-flask2", - "_messagecount": "11", - "_sourcehost": "new-relic-flask2", - "_messageid": "-9223372036854423342", - "_sourcename": "/home/tahay_asayer_io/tutorial/example.log", - "_size": "66", - "_view": "", - "_receipttime": "1582286762789", - "_sourcecategory": "linux/system", - "_format": "t:fail:o:-1:l:0:p:null", - "_source": "Linux System_2" - } - }, - { - "map": { - "_blockid": "-9223372036854750791", - "_messagetime": "1582286727679", - "_raw": "ZeroDivisionError: [asayer_session_id=9999999999] division by zero", - "_collectorid": "108084884", - "_sourceid": "148051672", - "_collector": "new-relic-flask2", - "_messagecount": "8", - "_sourcehost": "new-relic-flask2", - "_messageid": "-9223372036854423345", - "_sourcename": "/home/tahay_asayer_io/tutorial/example.log", - "_size": "66", - "_view": "", - "_receipttime": "1582286727679", - "_sourcecategory": "linux/system", - "_format": "t:fail:o:-1:l:0:p:null", - "_source": "Linux System_2" - } - }, - { - "map": { - "_blockid": "-9223372036854750791", - "_messagetime": "1582286723677", - "_raw": "ZeroDivisionError: [asayer_session_id=9999999999] division by zero", - "_collectorid": "108084884", - "_sourceid": "148051672", - "_collector": "new-relic-flask2", - "_messagecount": "5", - "_sourcehost": "new-relic-flask2", - "_messageid": "-9223372036854423348", - "_sourcename": "/home/tahay_asayer_io/tutorial/example.log", - "_size": "66", - "_view": "", - "_receipttime": "1582286723677", - "_sourcecategory": "linux/system", - "_format": "t:fail:o:-1:l:0:p:null", - "_source": "Linux System_2" - } - } - ] -} diff --git a/backend/pkg/integrations/clients/sumologic_job_start.json b/backend/pkg/integrations/clients/sumologic_job_start.json deleted file mode 100644 index 617571fa2..000000000 --- a/backend/pkg/integrations/clients/sumologic_job_start.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "id":"6F17F4197B438B68", - "link": { - "rel":"self", - "href":"https://api.eu.sumologic.com/api/v1/search/jobs/6F17F4197B438B68" - } -} \ No newline at end of file diff --git a/backend/pkg/integrations/clients/sumologic_job_status.json b/backend/pkg/integrations/clients/sumologic_job_status.json deleted file mode 100644 index 2b3c00b88..000000000 --- a/backend/pkg/integrations/clients/sumologic_job_status.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "state": "DONE GATHERING RESULTS", - "histogramBuckets": [ - { - "startTimestamp": 1582243200000, - "length": 55087270, - "count": 194 - } - ], - "messageCount": 194, - "recordCount": 0, - "pendingWarnings": [ - ], - "pendingErrors": [ - ] -} diff --git a/backend/pkg/integrations/clients/utils.go b/backend/pkg/integrations/clients/utils.go deleted file mode 100644 index e171e3e14..000000000 --- a/backend/pkg/integrations/clients/utils.go +++ /dev/null @@ -1,26 +0,0 @@ -package clients - -import ( - "fmt" - "regexp" - "strings" -) - -func GetLinkFromAngularBrackets(s string) string { - beg := strings.Index(s, "<") + 1 - end := strings.Index(s, ">") - if end < 0 { - return "" - } - return strings.TrimSpace(s[beg:end]) -} - -var reToken = regexp.MustCompile(`(?i)openReplaySessionToken=([0-9a-zA-Z\.]+)`) - -func GetToken(s string) (string, error) { - matches := reToken.FindStringSubmatch(s) - if len(matches) < 2 { - return "", fmt.Errorf("'openReplaySessionToken' not found in '%v' ", s) - } - return matches[1], nil -} diff --git a/backend/pkg/integrations/handlers.go b/backend/pkg/integrations/handlers.go new file mode 100644 index 000000000..e90b9f862 --- /dev/null +++ b/backend/pkg/integrations/handlers.go @@ -0,0 +1,224 @@ +package data_integration + +import ( + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "strconv" + "time" + + "github.com/gorilla/mux" + + metrics "openreplay/backend/pkg/metrics/heuristics" +) + +func getIntegrationsArgs(r *http.Request) (string, uint64, error) { + vars := mux.Vars(r) + name := vars["name"] + if name == "" { + return "", 0, fmt.Errorf("empty integration name") + } + project := vars["project"] + if project == "" { + return "", 0, fmt.Errorf("project id is empty") + } + projID, err := strconv.ParseUint(project, 10, 64) + if err != nil || projID <= 0 { + return "", 0, fmt.Errorf("invalid project id") + } + return name, projID, nil +} + +func getIntegrationSession(r *http.Request) (uint64, error) { + vars := mux.Vars(r) + session := vars["session"] + if session == "" { + return 0, fmt.Errorf("session id is empty") + } + sessID, err := strconv.ParseUint(session, 10, 64) + if err != nil || sessID <= 0 { + return 0, fmt.Errorf("invalid session id") + } + return sessID, nil +} + +type IntegrationRequest struct { + IntegrationData map[string]string `json:"data"` +} + +func (e *Router) createIntegration(w http.ResponseWriter, r *http.Request) { + startTime := time.Now() + bodySize := 0 + + bodyBytes, err := e.readBody(w, r, e.cfg.JsonSizeLimit) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusRequestEntityTooLarge, err, startTime, r.URL.Path, bodySize) + return + } + bodySize = len(bodyBytes) + + integration, project, err := getIntegrationsArgs(r) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + + req := &IntegrationRequest{} + if err := json.Unmarshal(bodyBytes, req); err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + + if err := e.services.Integrator.AddIntegration(project, integration, req.IntegrationData); err != nil { + e.ResponseWithError(r.Context(), w, http.StatusInternalServerError, err, startTime, r.URL.Path, bodySize) + return + } + e.ResponseOK(r.Context(), w, startTime, r.URL.Path, bodySize) +} + +func (e *Router) getIntegration(w http.ResponseWriter, r *http.Request) { + startTime := time.Now() + bodySize := 0 + + integration, project, err := getIntegrationsArgs(r) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + + intParams, err := e.services.Integrator.GetIntegration(project, integration) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusInternalServerError, err, startTime, r.URL.Path, bodySize) + return + } + e.ResponseWithJSON(r.Context(), w, intParams, startTime, r.URL.Path, bodySize) +} + +func (e *Router) updateIntegration(w http.ResponseWriter, r *http.Request) { + startTime := time.Now() + bodySize := 0 + + bodyBytes, err := e.readBody(w, r, e.cfg.JsonSizeLimit) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusRequestEntityTooLarge, err, startTime, r.URL.Path, bodySize) + return + } + bodySize = len(bodyBytes) + + integration, project, err := getIntegrationsArgs(r) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + + req := &IntegrationRequest{} + if err := json.Unmarshal(bodyBytes, req); err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + + if err := e.services.Integrator.UpdateIntegration(project, integration, req.IntegrationData); err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + e.ResponseOK(r.Context(), w, startTime, r.URL.Path, bodySize) +} + +func (e *Router) deleteIntegration(w http.ResponseWriter, r *http.Request) { + startTime := time.Now() + bodySize := 0 + + integration, project, err := getIntegrationsArgs(r) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + + if err := e.services.Integrator.DeleteIntegration(project, integration); err != nil { + e.ResponseWithError(r.Context(), w, http.StatusInternalServerError, err, startTime, r.URL.Path, bodySize) + return + } + e.ResponseOK(r.Context(), w, startTime, r.URL.Path, bodySize) +} + +func (e *Router) getIntegrationData(w http.ResponseWriter, r *http.Request) { + startTime := time.Now() + bodySize := 0 + + integration, project, err := getIntegrationsArgs(r) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + + session, err := getIntegrationSession(r) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + + url, err := e.services.Integrator.GetSessionDataURL(project, integration, session) + if err != nil { + e.ResponseWithError(r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize) + return + } + + resp := map[string]string{"url": url} + e.ResponseWithJSON(r.Context(), w, resp, startTime, r.URL.Path, bodySize) +} + +func recordMetrics(requestStart time.Time, url string, code, bodySize int) { + if bodySize > 0 { + metrics.RecordRequestSize(float64(bodySize), url, code) + } + metrics.IncreaseTotalRequests() + metrics.RecordRequestDuration(float64(time.Now().Sub(requestStart).Milliseconds()), url, code) +} + +func (e *Router) readBody(w http.ResponseWriter, r *http.Request, limit int64) ([]byte, error) { + body := http.MaxBytesReader(w, r.Body, limit) + bodyBytes, err := io.ReadAll(body) + + // Close body + if closeErr := body.Close(); closeErr != nil { + e.log.Warn(r.Context(), "error while closing request body: %s", closeErr) + } + if err != nil { + return nil, err + } + return bodyBytes, nil +} + +func (e *Router) ResponseOK(ctx context.Context, w http.ResponseWriter, requestStart time.Time, url string, bodySize int) { + w.WriteHeader(http.StatusOK) + e.log.Info(ctx, "response ok") + recordMetrics(requestStart, url, http.StatusOK, bodySize) +} + +func (e *Router) ResponseWithJSON(ctx context.Context, w http.ResponseWriter, res interface{}, requestStart time.Time, url string, bodySize int) { + e.log.Info(ctx, "response ok") + body, err := json.Marshal(res) + if err != nil { + e.log.Error(ctx, "can't marshal response: %s", err) + } + w.Header().Set("Content-Type", "application/json") + w.Write(body) + recordMetrics(requestStart, url, http.StatusOK, bodySize) +} + +type response struct { + Error string `json:"error"` +} + +func (e *Router) ResponseWithError(ctx context.Context, w http.ResponseWriter, code int, err error, requestStart time.Time, url string, bodySize int) { + e.log.Error(ctx, "response error, code: %d, error: %s", code, err) + body, err := json.Marshal(&response{err.Error()}) + if err != nil { + e.log.Error(ctx, "can't marshal response: %s", err) + } + w.WriteHeader(code) + w.Write(body) + recordMetrics(requestStart, url, code, bodySize) +} diff --git a/backend/pkg/integrations/integrations.go b/backend/pkg/integrations/integrations.go deleted file mode 100644 index d7845cc8e..000000000 --- a/backend/pkg/integrations/integrations.go +++ /dev/null @@ -1,97 +0,0 @@ -package integrations - -import ( - "context" - "fmt" - "strings" - "time" - - config "openreplay/backend/internal/config/integrations" - "openreplay/backend/pkg/intervals" - "openreplay/backend/pkg/logger" - "openreplay/backend/pkg/queue/types" - "openreplay/backend/pkg/token" -) - -type Listener struct { - log logger.Logger - cfg *config.Config - storage Storage - producer types.Producer - manager *Manager - tokenizer *token.Tokenizer - Errors chan error -} - -func New(log logger.Logger, cfg *config.Config, storage Storage, producer types.Producer, manager *Manager, tokenizer *token.Tokenizer) (*Listener, error) { - listener := &Listener{ - log: log, - cfg: cfg, - storage: storage, - Errors: make(chan error), - producer: producer, - manager: manager, - tokenizer: tokenizer, - } - ints, err := storage.GetAll() - if err != nil { - return nil, err - } - for _, i := range ints { - // Add new integration to manager - if err = manager.Update(i); err != nil { - log.Error(context.Background(), "integration parse error: %v | integration: %v", err, *i) - } - } - manager.RequestAll() - go listener.worker() - return listener, nil -} - -func (l *Listener) worker() { - clientsCheckTick := time.Tick(intervals.INTEGRATIONS_REQUEST_INTERVAL * time.Millisecond) - - for { - select { - case <-clientsCheckTick: - l.manager.RequestAll() - case event := <-l.manager.Events: - l.log.Info(context.Background(), "new integration event: %+v", *event.IntegrationEvent) - sessionID := event.SessionID - if sessionID == 0 { - sessData, err := l.tokenizer.Parse(event.Token) - if err != nil && err != token.EXPIRED { - l.log.Error(context.Background(), "error on token parsing: %v; token: %v", err, event.Token) - continue - } - sessionID = sessData.ID - } - // Why do we produce integration events to analytics topic - l.producer.Produce(l.cfg.TopicAnalytics, sessionID, event.IntegrationEvent.Encode()) - case err := <-l.manager.Errors: - l.log.Error(context.Background(), "integration error: %v", err) - case i := <-l.manager.RequestDataUpdates: - if err := l.storage.Update(&i); err != nil { - l.log.Error(context.Background(), "Postgres update request_data error: %v", err) - } - default: - newNotification, err := l.storage.CheckNew() - if err != nil { - if strings.Contains(err.Error(), "context deadline exceeded") { - continue - } - l.Errors <- fmt.Errorf("Integration storage error: %v", err) - continue - } - l.log.Info(context.Background(), "integration update: %v", *newNotification) - err = l.manager.Update(newNotification) - if err != nil { - l.log.Error(context.Background(), "integration parse error: %v | integration: %v", err, *newNotification) - } - } - } -} - -func (l *Listener) Close() error { - return l.storage.UnListen() -} diff --git a/backend/pkg/integrations/manager.go b/backend/pkg/integrations/manager.go deleted file mode 100644 index 4a69aa5a8..000000000 --- a/backend/pkg/integrations/manager.go +++ /dev/null @@ -1,51 +0,0 @@ -package integrations - -import ( - "context" - "openreplay/backend/pkg/integrations/clients" - "openreplay/backend/pkg/integrations/model" - "openreplay/backend/pkg/logger" -) - -type Manager struct { - log logger.Logger - clientMap clients.ClientMap - Events chan *clients.SessionErrorEvent - Errors chan error - RequestDataUpdates chan model.Integration // not pointer because it could change in other thread -} - -func NewManager(log logger.Logger) *Manager { - return &Manager{ - log: log, - clientMap: make(clients.ClientMap), - RequestDataUpdates: make(chan model.Integration, 100), - Events: make(chan *clients.SessionErrorEvent, 100), - Errors: make(chan error, 100), - } -} - -func (m *Manager) Update(i *model.Integration) (err error) { - m.log.Info(context.Background(), "Integration initialization: %v\n", *i) - key := i.GetKey() - if i.Options == nil { - delete(m.clientMap, key) - return nil - } - c, exists := m.clientMap[key] - if !exists { - c, err = clients.NewClient(i, m.RequestDataUpdates, m.Events, m.Errors) - if err != nil { - return err - } - m.clientMap[key] = c - } - return c.Update(i) -} - -func (m *Manager) RequestAll() { - m.log.Info(context.Background(), "Requesting all...") - for _, c := range m.clientMap { - go c.Request() - } -} diff --git a/backend/pkg/integrations/model/integration.go b/backend/pkg/integrations/model/integration.go deleted file mode 100644 index 58fa2f119..000000000 --- a/backend/pkg/integrations/model/integration.go +++ /dev/null @@ -1,38 +0,0 @@ -package model - -import ( - "encoding/json" - "fmt" - "time" -) - -type Integration struct { - ProjectID uint32 `json:"project_id"` - Provider string `json:"provider"` - RequestData json.RawMessage `json:"request_data"` - Options json.RawMessage `json:"options"` -} - -func (i *Integration) Encode() []byte { - b, _ := json.Marshal(i) - return b -} - -func (i *Integration) Decode(data []byte) error { - return json.Unmarshal(data, i) -} - -func (i *Integration) GetKey() string { - return fmt.Sprintf("%d%s", i.ProjectID, i.Provider) -} - -func (i *Integration) GetRequestInfo() (*RequestInfo, error) { - ri := new(RequestInfo) - if err := json.Unmarshal(i.RequestData, ri); err != nil { - return nil, err - } - if ri.LastMessageTimestamp == 0 { - ri.LastMessageTimestamp = uint64(time.Now().Add(-time.Hour * 24).UnixMilli()) - } - return ri, nil -} diff --git a/backend/pkg/integrations/model/request.go b/backend/pkg/integrations/model/request.go deleted file mode 100644 index d6267374e..000000000 --- a/backend/pkg/integrations/model/request.go +++ /dev/null @@ -1,58 +0,0 @@ -package model - -import ( - "encoding/json" - "time" -) - -const MAX_ATTEMPTS_IN_A_ROW = 4 -const MAX_ATTEMPTS = 40 -const ATTEMPTS_INTERVAL = 3 * 60 * 60 * 1000 - -type RequestInfo struct { - LastMessageId string - LastMessageTimestamp uint64 - LastAttemptTimestamp int64 - UnsuccessfullAttemptsCount int -} - -func (c *RequestInfo) SetLastMessageTimestamp(timestamp uint64) { - if timestamp > c.LastMessageTimestamp { - c.LastMessageTimestamp = timestamp - } -} -func (c *RequestInfo) GetLastMessageTimestamp() uint64 { - return c.LastMessageTimestamp -} -func (c *RequestInfo) SetLastMessageId(timestamp uint64, id string) { - c.LastMessageId = id - c.LastMessageTimestamp = timestamp -} -func (c *RequestInfo) GetLastMessageId() string { - return c.LastMessageId -} - -func (c *RequestInfo) CanAttempt() bool { - if c.UnsuccessfullAttemptsCount >= MAX_ATTEMPTS || - (c.UnsuccessfullAttemptsCount >= MAX_ATTEMPTS_IN_A_ROW && - time.Now().UnixMilli()-c.LastAttemptTimestamp < ATTEMPTS_INTERVAL) { - return false - } - return true -} - -func (c *RequestInfo) UpdateLastAttempt() { - c.LastAttemptTimestamp = time.Now().UnixMilli() -} - -func (c *RequestInfo) Inc() { - c.UnsuccessfullAttemptsCount++ -} - -func (c *RequestInfo) Reset() { - c.UnsuccessfullAttemptsCount = 0 -} - -func (c *RequestInfo) Encode() ([]byte, error) { - return json.Marshal(c) -} diff --git a/backend/pkg/integrations/router.go b/backend/pkg/integrations/router.go new file mode 100644 index 000000000..a405c6065 --- /dev/null +++ b/backend/pkg/integrations/router.go @@ -0,0 +1,170 @@ +package data_integration + +import ( + "bytes" + "fmt" + "io" + "net/http" + "time" + + "github.com/docker/distribution/context" + "github.com/gorilla/mux" + + integration "openreplay/backend/internal/config/integrations" + "openreplay/backend/internal/http/util" + "openreplay/backend/pkg/logger" + limiter "openreplay/backend/pkg/spot/api" + "openreplay/backend/pkg/spot/auth" +) + +type Router struct { + log logger.Logger + cfg *integration.Config + router *mux.Router + services *ServiceBuilder + limiter *limiter.UserRateLimiter +} + +func NewRouter(cfg *integration.Config, log logger.Logger, services *ServiceBuilder) (*Router, error) { + switch { + case cfg == nil: + return nil, fmt.Errorf("config is empty") + case services == nil: + return nil, fmt.Errorf("services is empty") + case log == nil: + return nil, fmt.Errorf("logger is empty") + } + e := &Router{ + log: log, + cfg: cfg, + services: services, + limiter: limiter.NewUserRateLimiter(10, 30, 1*time.Minute, 5*time.Minute), + } + e.init() + return e, nil +} + +func (e *Router) init() { + e.router = mux.NewRouter() + + // Root route + e.router.HandleFunc("/", e.ping) + + e.router.HandleFunc("/v1/integrations/{name}/{project}", e.createIntegration).Methods("POST", "OPTIONS") + e.router.HandleFunc("/v1/integrations/{name}/{project}", e.getIntegration).Methods("GET", "OPTIONS") + e.router.HandleFunc("/v1/integrations/{name}/{project}", e.updateIntegration).Methods("PATCH", "OPTIONS") + e.router.HandleFunc("/v1/integrations/{name}/{project}", e.deleteIntegration).Methods("DELETE", "OPTIONS") + e.router.HandleFunc("/v1/integrations/{name}/{project}/data/{session}", e.getIntegrationData).Methods("GET", "OPTIONS") + + // CORS middleware + e.router.Use(e.corsMiddleware) + e.router.Use(e.authMiddleware) + e.router.Use(e.rateLimitMiddleware) + e.router.Use(e.actionMiddleware) +} + +func (e *Router) ping(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) +} + +func (e *Router) corsMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path == "/" { + next.ServeHTTP(w, r) + } + if e.cfg.UseAccessControlHeaders { + // Prepare headers for preflight requests + w.Header().Set("Access-Control-Allow-Origin", "*") + w.Header().Set("Access-Control-Allow-Methods", "POST,GET,PATCH,DELETE") + w.Header().Set("Access-Control-Allow-Headers", "Content-Type,Authorization,Content-Encoding") + } + if r.Method == http.MethodOptions { + w.Header().Set("Cache-Control", "max-age=86400") + w.WriteHeader(http.StatusOK) + return + } + r = r.WithContext(context.WithValues(r.Context(), map[string]interface{}{"httpMethod": r.Method, "url": util.SafeString(r.URL.Path)})) + + next.ServeHTTP(w, r) + }) +} + +func (e *Router) authMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path == "/" { + next.ServeHTTP(w, r) + } + + // Check if the request is authorized + user, err := e.services.Auth.IsAuthorized(r.Header.Get("Authorization"), nil, false) + if err != nil { + e.log.Warn(r.Context(), "Unauthorized request: %s", err) + w.WriteHeader(http.StatusUnauthorized) + return + } + + r = r.WithContext(context.WithValues(r.Context(), map[string]interface{}{"userData": user})) + next.ServeHTTP(w, r) + }) +} + +func (e *Router) rateLimitMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path == "/" { + next.ServeHTTP(w, r) + } + user := r.Context().Value("userData").(*auth.User) + rl := e.limiter.GetRateLimiter(user.ID) + + if !rl.Allow() { + http.Error(w, "Too Many Requests", http.StatusTooManyRequests) + return + } + next.ServeHTTP(w, r) + }) +} + +type statusWriter struct { + http.ResponseWriter + statusCode int +} + +func (w *statusWriter) WriteHeader(statusCode int) { + w.statusCode = statusCode + w.ResponseWriter.WriteHeader(statusCode) +} + +func (w *statusWriter) Write(b []byte) (int, error) { + if w.statusCode == 0 { + w.statusCode = http.StatusOK + } + return w.ResponseWriter.Write(b) +} + +func (e *Router) actionMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path == "/" { + next.ServeHTTP(w, r) + } + // Read body and restore the io.ReadCloser to its original state + bodyBytes, err := io.ReadAll(r.Body) + if err != nil { + http.Error(w, "can't read body", http.StatusBadRequest) + return + } + r.Body = io.NopCloser(bytes.NewBuffer(bodyBytes)) + // Use custom response writer to get the status code + sw := &statusWriter{ResponseWriter: w} + // Serve the request + next.ServeHTTP(sw, r) + e.logRequest(r, bodyBytes, sw.statusCode) + }) +} + +func (e *Router) logRequest(r *http.Request, bodyBytes []byte, statusCode int) { + e.log.Info(r.Context(), "Request: %s %s %s %d", r.Method, r.URL.Path, bodyBytes, statusCode) +} + +func (e *Router) GetHandler() http.Handler { + return e.router +} diff --git a/backend/pkg/integrations/service.go b/backend/pkg/integrations/service.go new file mode 100644 index 000000000..cc26cd1b1 --- /dev/null +++ b/backend/pkg/integrations/service.go @@ -0,0 +1,214 @@ +package data_integration + +import ( + "bytes" + "context" + "errors" + "fmt" + + "openreplay/backend/pkg/db/postgres/pool" + "openreplay/backend/pkg/integrations/clients" + "openreplay/backend/pkg/logger" + "openreplay/backend/pkg/objectstorage" +) + +var PROVIDERS = []string{"datadog", "sentry", "elasticsearch", "dynatrace"} + +func isValidProviderName(provider string) bool { + for _, p := range PROVIDERS { + if p == provider { + return true + } + } + return false +} + +// Service is the interface that provides methods for backend logs integrations (DataDog, etc). +type Service interface { + AddIntegration(projectID uint64, provider string, data interface{}) error + UpdateIntegration(projectID uint64, provider string, data interface{}) error + GetIntegration(projectID uint64, provider string) (interface{}, error) + DeleteIntegration(projectID uint64, provider string) error + GetSessionDataURL(projectID uint64, provider string, sessionID uint64) (string, error) +} + +type serviceImpl struct { + log logger.Logger + conn pool.Pool + storage objectstorage.ObjectStorage +} + +func (s *serviceImpl) AddIntegration(projectID uint64, provider string, data interface{}) error { + switch { + case projectID == 0: + return errors.New("project_id is empty") + case provider == "": + return errors.New("provider is empty") + case !isValidProviderName(provider): + return errors.New("invalid provider name") + case data == nil: + return errors.New("data is empty") + } + sql := `INSERT INTO public.integrations (project_id, provider, options) VALUES ($1, $2, $3)` + if err := s.conn.Exec(sql, projectID, provider, data); err != nil { + return fmt.Errorf("failed to add integration: %v", err) + } + return nil +} + +func (s *serviceImpl) GetIntegration(projectID uint64, provider string) (interface{}, error) { + switch { + case projectID == 0: + return nil, errors.New("project_id is empty") + case provider == "": + return nil, errors.New("provider is empty") + case !isValidProviderName(provider): + return nil, errors.New("invalid provider name") + } + sql := `SELECT options FROM public.integrations WHERE project_id = $1 AND provider = $2` + var options interface{} + if err := s.conn.QueryRow(sql, projectID, provider).Scan(&options); err != nil { + return nil, fmt.Errorf("failed to get integration: %v", err) + } + return options, nil +} + +func (s *serviceImpl) UpdateIntegration(projectID uint64, provider string, data interface{}) error { + switch { + case projectID == 0: + return errors.New("project_id is empty") + case provider == "": + return errors.New("provider is empty") + case !isValidProviderName(provider): + return errors.New("invalid provider name") + case data == nil: + return errors.New("data is empty") + } + sql := `UPDATE public.integrations SET options = $1 WHERE project_id = $2 AND provider = $3` + if err := s.conn.Exec(sql, data, projectID, provider); err != nil { + return fmt.Errorf("failed to update integration: %v", err) + } + return nil +} + +func (s *serviceImpl) DeleteIntegration(projectID uint64, provider string) error { + switch { + case projectID == 0: + return errors.New("project_id is empty") + case provider == "": + return errors.New("provider is empty") + case !isValidProviderName(provider): + return errors.New("invalid provider name") + } + sql := `DELETE FROM public.integrations WHERE project_id = $1 AND provider = $2` + if err := s.conn.Exec(sql, projectID, provider); err != nil { + return fmt.Errorf("failed to delete integration: %v", err) + } + return nil +} + +func (s *serviceImpl) GetSessionDataURL(projectID uint64, provider string, sessionID uint64) (string, error) { + switch { + case projectID == 0: + return "", errors.New("project_id is empty") + case provider == "": + return "", errors.New("provider is empty") + case !isValidProviderName(provider): + return "", errors.New("invalid provider name") + case sessionID == 0: + return "", errors.New("session_id is empty") + } + if s.hasSessionData(projectID, provider, sessionID) { + return s.generateSessionDataURL(provider, sessionID) + } + creds, err := s.getProviderCredentials(projectID, provider) + if err != nil { + return "", fmt.Errorf("failed to get provider credentials: %v", err) + } + data, err := s.fetchSessionData(provider, creds, sessionID) + if err != nil { + return "", fmt.Errorf("failed to fetch session data: %v", err) + } + if err := s.uploadSessionData(provider, sessionID, data); err != nil { + return "", fmt.Errorf("failed to upload session data to s3: %v", err) + } + if err := s.markSessionData(projectID, provider, sessionID); err != nil { + s.log.Warn(context.Background(), "failed to mark session data: %v", err) + } + return s.generateSessionDataURL(provider, sessionID) +} + +func (s *serviceImpl) hasSessionData(projectID uint64, provider string, sessionID uint64) bool { + sql := `SELECT EXISTS(SELECT 1 FROM session_integrations WHERE project_id = $1 AND provider = $2 AND session_id = $3)` + val := false + if err := s.conn.QueryRow(sql, projectID, provider, sessionID).Scan(&val); err != nil { + s.log.Error(context.Background(), "failed to check session data existence: %v", err) + return false + } + return val +} + +func (s *serviceImpl) getProviderCredentials(projectID uint64, provider string) (interface{}, error) { + sql := `SELECT options FROM public.integrations WHERE project_id = $1 AND provider = $2` + var credentials interface{} + if err := s.conn.QueryRow(sql, projectID, provider).Scan(&credentials); err != nil { + return nil, fmt.Errorf("failed to get provider credentials: %v", err) + } + return credentials, nil +} + +func (s *serviceImpl) fetchSessionData(provider string, credentials interface{}, sessionID uint64) (interface{}, error) { + var newClient clients.Client + switch provider { + case "datadog": + newClient = clients.NewDataDogClient() + case "sentry": + newClient = clients.NewSentryClient() + case "elasticsearch": + newClient = clients.NewElasticClient() + case "dynatrace": + newClient = clients.NewDynatraceClient() + default: + return nil, fmt.Errorf("unknown provider: %s", provider) + } + return newClient.FetchSessionData(credentials, sessionID) +} + +func (s *serviceImpl) uploadSessionData(provider string, sessionID uint64, data interface{}) error { + key := fmt.Sprintf("%d/%s.logs", sessionID, provider) + dataBytes, _ := data.([]byte) + return s.storage.Upload(bytes.NewReader(dataBytes), key, "text/plain", objectstorage.NoCompression) +} + +func (s *serviceImpl) markSessionData(projectID uint64, provider string, sessionID uint64) error { + sql := `INSERT INTO session_integrations (project_id, provider, session_id) VALUES ($1, $2, $3)` + if err := s.conn.Exec(sql, projectID, provider, sessionID); err != nil { + return fmt.Errorf("failed to mark session data: %v", err) + } + return nil +} + +func (s *serviceImpl) generateSessionDataURL(provider string, sessionID uint64) (string, error) { + key := fmt.Sprintf("%d/%s.logs", sessionID, provider) + dataURL, err := s.storage.GetPreSignedDownloadUrl(key) + if err != nil { + return "", fmt.Errorf("failed to generate session data URL: %v", err) + } + return dataURL, nil +} + +func NewService(log logger.Logger, pgConn pool.Pool, objStorage objectstorage.ObjectStorage) (Service, error) { + switch { + case log == nil: + return nil, errors.New("logger is empty") + case pgConn == nil: + return nil, errors.New("postgres connection is empty") + case objStorage == nil: + return nil, errors.New("object storage is empty") + } + return &serviceImpl{ + log: log, + conn: pgConn, + storage: objStorage, + }, nil +} diff --git a/backend/pkg/integrations/storage.go b/backend/pkg/integrations/storage.go deleted file mode 100644 index 16615973d..000000000 --- a/backend/pkg/integrations/storage.go +++ /dev/null @@ -1,95 +0,0 @@ -package integrations - -import ( - "context" - "encoding/json" - "fmt" - "openreplay/backend/pkg/logger" - - "openreplay/backend/pkg/integrations/model" - "time" - - "github.com/jackc/pgx/v4" -) - -type Storage interface { - Listen() error - UnListen() error - CheckNew() (*model.Integration, error) - GetAll() ([]*model.Integration, error) - Update(i *model.Integration) error -} - -type storageImpl struct { - conn *pgx.Conn - log logger.Logger -} - -func NewStorage(conn *pgx.Conn, log logger.Logger) Storage { - return &storageImpl{ - conn: conn, - log: log, - } -} - -func (s *storageImpl) Listen() error { - _, err := s.conn.Exec(context.Background(), "LISTEN integration") - return err -} - -func (s *storageImpl) UnListen() error { - _, err := s.conn.Exec(context.Background(), "UNLISTEN integration") - return err -} - -func (s *storageImpl) CheckNew() (*model.Integration, error) { - ctx, _ := context.WithTimeout(context.Background(), 100*time.Millisecond) - notification, err := s.conn.WaitForNotification(ctx) - if err != nil { - return nil, err - } - if notification.Channel == "integration" { - integrationP := new(model.Integration) - if err := json.Unmarshal([]byte(notification.Payload), integrationP); err != nil { - return nil, err - } - return integrationP, nil - } - return nil, fmt.Errorf("unknown notification channel: %s", notification.Channel) -} - -func (s *storageImpl) GetAll() ([]*model.Integration, error) { - rows, err := s.conn.Query(context.Background(), ` - SELECT project_id, provider, options, request_data - FROM integrations - `) - if err != nil { - return nil, err - } - defer rows.Close() - - integrations := make([]*model.Integration, 0) - for rows.Next() { - i := new(model.Integration) - if err := rows.Scan(&i.ProjectID, &i.Provider, &i.Options, &i.RequestData); err != nil { - s.log.Error(context.Background(), "postgres scan error: %v", err) - continue - } - integrations = append(integrations, i) - } - - if err = rows.Err(); err != nil { - return nil, err - } - return integrations, nil -} - -func (s *storageImpl) Update(i *model.Integration) error { - _, err := s.conn.Exec(context.Background(), ` - UPDATE integrations - SET request_data = $1 - WHERE project_id=$2 AND provider=$3`, - i.RequestData, i.ProjectID, i.Provider, - ) - return err -} diff --git a/backend/pkg/logger/extra.go b/backend/pkg/logger/extra.go new file mode 100644 index 000000000..c8de01159 --- /dev/null +++ b/backend/pkg/logger/extra.go @@ -0,0 +1,154 @@ +package logger + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "github.com/getsentry/sentry-go" + "net/http" + "openreplay/backend/pkg/env" + "time" + + "github.com/elastic/go-elasticsearch/v8" + "github.com/elastic/go-elasticsearch/v8/esapi" +) + +type extraLogger struct { + hasSentry bool + hasElastic bool + dataDogAPIKey string + elasticLogger *elasticsearch.Client +} + +type ExtraLogger interface { + Log(ctx context.Context, log string) +} + +func NewExtraLogger() ExtraLogger { + // Init sentry + hasSentry := true + SENTRY_DSN := env.String("SENTRY_DSN") + err := sentry.Init(sentry.ClientOptions{ + Dsn: SENTRY_DSN, + TracesSampleRate: 1.0, + }) + if err != nil { + fmt.Printf("sentry.Init: %s", err) + hasSentry = false + } + + // Init elasticsearch + ELASTIC_HOST := env.String("ELASTIC_HOST") + ELASTIC_API_KEY := env.String("ELASTIC_API_KEY") + + hasElastic := true + es, err := elasticsearch.NewClient(elasticsearch.Config{ + Addresses: []string{ELASTIC_HOST}, + APIKey: ELASTIC_API_KEY, + }) + if err != nil { + fmt.Printf("Error creating the ES client: %s", err) + hasElastic = false + } + + // Init + DATADOG_API_KEY := env.String("DATADOG_API_KEY") + if DATADOG_API_KEY == "" { + fmt.Printf("DATADOG_API_KEY is empty") + } + + return &extraLogger{ + hasSentry: hasSentry, + hasElastic: hasElastic, + elasticLogger: es, + dataDogAPIKey: DATADOG_API_KEY, + } +} + +// LogMessage defines the structure of your log message +type LogMessage struct { + Timestamp time.Time `json:"@timestamp"` + Message string `json:"message"` + Level string `json:"level"` +} + +func sendLog(es *elasticsearch.Client, logMessage LogMessage) { + var buf bytes.Buffer + if err := json.NewEncoder(&buf).Encode(logMessage); err != nil { + fmt.Printf("Error encoding log message: %s", err) + return + } + + req := esapi.IndexRequest{ + Index: "logs", + DocumentID: "", + Body: &buf, + Refresh: "true", + } + + res, err := req.Do(context.Background(), es) + if err != nil { + fmt.Printf("Error sending log to Elasticsearch: %s", err) + return + } + defer res.Body.Close() + + // Check the response status + if res.IsError() { + fmt.Printf("Error response from Elasticsearch: %s", res.String()) + } else { + fmt.Printf("Log successfully sent to Elasticsearch.") + } +} + +func (el *extraLogger) Log(ctx context.Context, msg string) { + if sID, ok := ctx.Value("sessionID").(string); ok { + msg = fmt.Sprintf("%s openReplaySession.id=%s", msg, sID) + } + if el.hasSentry { + sentry.CaptureMessage(msg) + } + if el.hasElastic { + esMsg := LogMessage{ + Timestamp: time.Now(), + Message: msg, + Level: "INFO", + } + sendLog(el.elasticLogger, esMsg) + } + if el.dataDogAPIKey != "" { + url := "https://http-intake.logs.datadoghq.com/v1/input" + + logMessage := `{ + "message": "` + msg + `", + "ddsource": "go", + "service": "myservice", + "hostname": "myhost", + "ddtags": "env:development" + }` + + req, err := http.NewRequest("POST", url, bytes.NewBuffer([]byte(logMessage))) + if err != nil { + fmt.Println("Failed to create request:", err) + return + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("DD-API-KEY", el.dataDogAPIKey) + + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + fmt.Println("Failed to send log to DataDog:", err) + return + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + fmt.Println("Failed to send log to DataDog, status code:", resp.StatusCode) + } else { + fmt.Println("Log sent to DataDog successfully!") + } + } +} diff --git a/backend/pkg/logger/logger.go b/backend/pkg/logger/logger.go index d30d7a42c..ddb6f9fc1 100644 --- a/backend/pkg/logger/logger.go +++ b/backend/pkg/logger/logger.go @@ -17,7 +17,9 @@ type Logger interface { } type loggerImpl struct { - l *zap.Logger + l *zap.Logger + useExtra bool + extra ExtraLogger } func New() Logger { @@ -27,7 +29,14 @@ func New() Logger { core := zapcore.NewCore(jsonEncoder, zapcore.AddSync(os.Stdout), zap.InfoLevel) baseLogger := zap.New(core, zap.AddCaller()) logger := baseLogger.WithOptions(zap.AddCallerSkip(1)) - return &loggerImpl{l: logger} + customLogger := &loggerImpl{l: logger} + + // Use it only for debugging purposes + if doExtra := os.Getenv("ENABLE_EXTRA_LOGS"); doExtra == "true" { + customLogger.extra = NewExtraLogger() + customLogger.useExtra = true + } + return customLogger } func (l *loggerImpl) prepare(ctx context.Context, logger *zap.Logger) *zap.Logger { @@ -53,21 +62,41 @@ func (l *loggerImpl) prepare(ctx context.Context, logger *zap.Logger) *zap.Logge } func (l *loggerImpl) Debug(ctx context.Context, message string, args ...interface{}) { - l.prepare(ctx, l.l.With(zap.String("level", "debug"))).Debug(fmt.Sprintf(message, args...)) + logStr := fmt.Sprintf(message, args...) + l.prepare(ctx, l.l.With(zap.String("level", "debug"))).Debug(logStr) + if l.useExtra { + l.extra.Log(ctx, logStr) + } } func (l *loggerImpl) Info(ctx context.Context, message string, args ...interface{}) { - l.prepare(ctx, l.l.With(zap.String("level", "info"))).Info(fmt.Sprintf(message, args...)) + logStr := fmt.Sprintf(message, args...) + l.prepare(ctx, l.l.With(zap.String("level", "info"))).Info(logStr) + if l.useExtra { + l.extra.Log(ctx, logStr) + } } func (l *loggerImpl) Warn(ctx context.Context, message string, args ...interface{}) { - l.prepare(ctx, l.l.With(zap.String("level", "warn"))).Warn(fmt.Sprintf(message, args...)) + logStr := fmt.Sprintf(message, args...) + l.prepare(ctx, l.l.With(zap.String("level", "warn"))).Warn(logStr) + if l.useExtra { + l.extra.Log(ctx, logStr) + } } func (l *loggerImpl) Error(ctx context.Context, message string, args ...interface{}) { - l.prepare(ctx, l.l.With(zap.String("level", "error"))).Error(fmt.Sprintf(message, args...)) + logStr := fmt.Sprintf(message, args...) + l.prepare(ctx, l.l.With(zap.String("level", "error"))).Error(logStr) + if l.useExtra { + l.extra.Log(ctx, logStr) + } } func (l *loggerImpl) Fatal(ctx context.Context, message string, args ...interface{}) { - l.prepare(ctx, l.l.With(zap.String("level", "fatal"))).Fatal(fmt.Sprintf(message, args...)) + logStr := fmt.Sprintf(message, args...) + l.prepare(ctx, l.l.With(zap.String("level", "fatal"))).Fatal(logStr) + if l.useExtra { + l.extra.Log(ctx, logStr) + } } diff --git a/backend/pkg/metrics/heuristics/metrics.go b/backend/pkg/metrics/heuristics/metrics.go index 61a84dc49..32b42416a 100644 --- a/backend/pkg/metrics/heuristics/metrics.go +++ b/backend/pkg/metrics/heuristics/metrics.go @@ -1,6 +1,10 @@ package heuristics -import "github.com/prometheus/client_golang/prometheus" +import ( + "github.com/prometheus/client_golang/prometheus" + "openreplay/backend/pkg/metrics/common" + "strconv" +) var heuristicsTotalEvents = prometheus.NewCounterVec( prometheus.CounterOpts{ @@ -15,6 +19,46 @@ func IncreaseTotalEvents(eventType string) { heuristicsTotalEvents.WithLabelValues(eventType).Inc() } +var heuristicsRequestSize = prometheus.NewHistogramVec( + prometheus.HistogramOpts{ + Namespace: "heuristics", + Name: "request_size_bytes", + Help: "A histogram displaying the size of each HTTP request in bytes.", + Buckets: common.DefaultSizeBuckets, + }, + []string{"url", "response_code"}, +) + +func RecordRequestSize(size float64, url string, code int) { + heuristicsRequestSize.WithLabelValues(url, strconv.Itoa(code)).Observe(size) +} + +var heuristicsRequestDuration = prometheus.NewHistogramVec( + prometheus.HistogramOpts{ + Namespace: "heuristics", + Name: "request_duration_seconds", + Help: "A histogram displaying the duration of each HTTP request in seconds.", + Buckets: common.DefaultDurationBuckets, + }, + []string{"url", "response_code"}, +) + +func RecordRequestDuration(durMillis float64, url string, code int) { + heuristicsRequestDuration.WithLabelValues(url, strconv.Itoa(code)).Observe(durMillis / 1000.0) +} + +var heuristicsTotalRequests = prometheus.NewCounter( + prometheus.CounterOpts{ + Namespace: "heuristics", + Name: "requests_total", + Help: "A counter displaying the number all HTTP requests.", + }, +) + +func IncreaseTotalRequests() { + heuristicsTotalRequests.Inc() +} + func List() []prometheus.Collector { return []prometheus.Collector{ heuristicsTotalEvents, diff --git a/scripts/helmcharts/openreplay/charts/integrations/templates/ingress.yaml b/scripts/helmcharts/openreplay/charts/integrations/templates/ingress.yaml index 379d77834..2f894065d 100644 --- a/scripts/helmcharts/openreplay/charts/integrations/templates/ingress.yaml +++ b/scripts/helmcharts/openreplay/charts/integrations/templates/ingress.yaml @@ -1,62 +1,36 @@ -{{- if .Values.ingress.enabled -}} +{{- if .Values.ingress.enabled }} {{- $fullName := include "integrations.fullname" . -}} {{- $svcPort := .Values.service.ports.http -}} -{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} - {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} - {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} - {{- end }} -{{- end }} -{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} apiVersion: networking.k8s.io/v1 -{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1beta1 -{{- else -}} -apiVersion: extensions/v1beta1 -{{- end }} kind: Ingress metadata: name: {{ $fullName }} namespace: {{ .Release.Namespace }} labels: {{- include "integrations.labels" . | nindent 4 }} - {{- with .Values.ingress.annotations }} annotations: + {{- with .Values.ingress.annotations }} {{- toYaml . | nindent 4 }} {{- end }} + nginx.ingress.kubernetes.io/rewrite-target: /$1 + nginx.ingress.kubernetes.io/upstream-hash-by: $http_x_forwarded_for spec: - {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} - ingressClassName: {{ .Values.ingress.className }} - {{- end }} - {{- if .Values.ingress.tls }} + ingressClassName: "{{ tpl .Values.ingress.className . }}" tls: - {{- range .Values.ingress.tls }} - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} + - {{ .Values.global.domainName }} + {{- if .Values.ingress.tls.secretName}} + secretName: {{ .Values.ingress.tls.secretName }} + {{- end}} rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host | quote }} + - host: {{ .Values.global.domainName }} http: paths: - {{- range .paths }} - - path: {{ .path }} - {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} - pathType: {{ .pathType }} - {{- end }} + - pathType: Prefix backend: - {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} service: name: {{ $fullName }} port: number: {{ $svcPort }} - {{- else }} - serviceName: {{ $fullName }} - servicePort: {{ $svcPort }} - {{- end }} - {{- end }} - {{- end }} + path: /integrations/(.*) {{- end }} diff --git a/scripts/helmcharts/openreplay/charts/integrations/values.yaml b/scripts/helmcharts/openreplay/charts/integrations/values.yaml index dcc862a2c..f64159977 100644 --- a/scripts/helmcharts/openreplay/charts/integrations/values.yaml +++ b/scripts/helmcharts/openreplay/charts/integrations/values.yaml @@ -47,7 +47,7 @@ podSecurityContext: service: type: ClusterIP ports: - http: 9000 + http: 8080 metrics: 8888 serviceMonitor: @@ -63,20 +63,20 @@ serviceMonitor: scrapeTimeout: 10s ingress: - enabled: false - className: "" - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - hosts: - - host: chart-example.local - paths: - - path: / - pathType: ImplementationSpecific - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local + enabled: true + className: "{{ .Values.global.ingress.controller.ingressClassResource.name }}" + annotations: + cert-manager.io/cluster-issuer: "letsencrypt-prod" + nginx.ingress.kubernetes.io/proxy-connect-timeout: "120" + nginx.ingress.kubernetes.io/proxy-send-timeout: "300" + nginx.ingress.kubernetes.io/proxy-read-timeout: "300" + nginx.ingress.kubernetes.io/cors-allow-methods: POST,PATCH,DELETE + nginx.ingress.kubernetes.io/cors-allow-headers: Content-Type,Authorization,Content-Encoding,X-Openreplay-Batch + nginx.ingress.kubernetes.io/cors-allow-origin: '*' + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/cors-expose-headers: "Content-Length" + tls: + secretName: openreplay-ssl resources: {} # We usually recommend not to specify default resources and to leave this as a conscious