snuba icon indicating copy to clipboard operation
snuba copied to clipboard

[wip, do not merge] delete eap_spans and remove all references

Open onewland opened this issue 9 months ago • 1 comments

This should be split into smaller PRs, but wanted to have a branch that had everything removed. Snuba tests are passing

Dependencies:

  • we will need a manual job that rewrites subscriptions to come from eap_items instead of eap_spans before we can fully delete the EAP_SPANS entity key.
  • @wmak has a PR to remove some dependent Sentry tests: https://github.com/getsentry/sentry/pull/89422

onewland avatar Apr 15 '25 22:04 onewland

:x: 1 Tests Failed:

Tests completed Failed Passed Skipped
2749 1 2748 11
View the top 1 failed test(s) by shortest run time
tests.web.rpc.v1.test_endpoint_get_trace.TestGetTrace::test_with_data
Stack Traces | 0.581s run time
Traceback (most recent call last):
  File ".../rpc/v1/test_endpoint_get_trace.py", line 277, in test_with_data
    assert list(
AssertionError: assert [key {\n  type: TYPE_STRING\n  name: "color"\n}\nvalue {\n  val_str: "red"\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "duration_ms"\n}\nvalue {\n  val_double: 152\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "eap.measurement"\n}\nvalue {\n  val_double: 100\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "end_timestamp"\n}\nvalue {\n  val_double: 1744826401\n}\n,\n key {\n  type: TYPE_STRING\n  name: "environment"\n}\nvalue {\n  val_str: "development"\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "exclusive_time_ms"\n}\nvalue {\n  val_double: 0.228\n}\n,\n key {\n  type: TYPE_STRING\n  name: "http.status_code"\n}\nvalue {\n  val_str: "200"\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "is_segment"\n}\nvalue {\n  val_double: 1\n}\n,\n key {\n  type: TYPE_STRING\n  name: "location"\n}\nvalue {\n  val_str: "mobile"\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.false.bool.field"\n}\nvalue {\n  val_double: 0\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.float.field"\n}\nvalue {\n  val_double: 101.2\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.int.field"\n}\nvalue {\n  val_double: 2000\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.neg.field"\n}\nvalue {\n  val_double: -100\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.neg.float.field"\n}\nvalue {\n  val_double: -101.2\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.true.bool.field"\n}\nvalue {\n  val_double: 1\n}\n,\n key {\n  type: TYPE_STRING\n  name: "name"\n}\nvalue {\n  val_str: "root"\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "num_of_spans"\n}\nvalue {\n  val_double: 50\n}\n,\n key {\n  type: TYPE_STRING\n  name: "parent_span_id"\n}\nvalue {\n  val_str: "0000000000000000"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_endpoint_version"\n}\nvalue {\n  val_str: "3"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_id"\n}\nvalue {\n  val_str: "88888888-4444-4444-8444-cccccccccccc"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_no_cache"\n}\nvalue {\n  val_str: "False"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_protocol_version"\n}\nvalue {\n  val_str: "3"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_use_post_or_schedule"\n}\nvalue {\n  val_str: "True"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_use_post_or_schedule_rejected"\n}\nvalue {\n  val_str: "version"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "release"\n}\nvalue {\n  val_str: "[email protected]+c45b49caed1e5fcbf70097ab3f434b487c359b6b"\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "sampling_factor"\n}\nvalue {\n  val_double: 1\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sdk.name"\n}\nvalue {\n  val_str: "sentry.python.django"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sdk.version"\n}\nvalue {\n  val_str: "2.7.0"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "segment.name"\n}\nvalue {\n  val_str: ".../0/relays/projectconfigs/"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "segment_id"\n}\nvalue {\n  val_str: "515f7dfd9f244664"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "segment_name"\n}\nvalue {\n  val_str: ".../0/relays/projectconfigs/"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.category"\n}\nvalue {\n  val_str: "http"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.environment"\n}\nvalue {\n  val_str: "development"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.op"\n}\nvalue {\n  val_str: "http.server"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.platform"\n}\nvalue {\n  val_str: "python"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.release"\n}\nvalue {\n  val_str: "[email protected]+c45b49caed1e5fcbf70097ab3f434b487c359b6b"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.sdk.name"\n}\nvalue {\n  val_str: "sentry.python.django"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.sdk.version"\n}\nvalue {\n  val_str: "2.7.0"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.status"\n}\nvalue {\n  val_str: "ok"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.status_code"\n}\nvalue {\n  val_str: "200"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.thread.id"\n}\nvalue {\n  val_str: "8522009600"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.thread.name"\n}\nvalue {\n  val_str: "uWSGIWorker1Core0"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.trace.status"\n}\nvalue {\n  val_str: "ok"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.transaction.method"\n}\nvalue {\n  val_str: "POST"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.transaction.op"\n}\nvalue {\n  val_str: "http.server"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.user"\n}\nvalue {\n  val_str: "ip:127.0.0.1"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "server_name"\n}\nvalue {\n  val_str: "D23CXQ4GK2.local"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "service"\n}\nvalue {\n  val_str: "1"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "spans_over_limit"\n}\nvalue {\n  val_str: "False"\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "start_timestamp"\n}\nvalue {\n  val_double: 1744826400\n}\n,\n key {\n  type: TYPE_STRING\n  name: "thread.id"\n}\nvalue {\n  val_str: "8522009600"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "thread.name"\n}\nvalue {\n  val_str: "uWSGIWorker1Core0"\n}\n] == [key {\n  type: TYPE_STRING\n  name: "color"\n}\nvalue {\n  val_str: "red"\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "eap.measurement"\n}\nvalue {\n  val_double: 100\n}\n,\n key {\n  type: TYPE_STRING\n  name: "environment"\n}\nvalue {\n  val_str: "development"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "http.status_code"\n}\nvalue {\n  val_str: "200"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "location"\n}\nvalue {\n  val_str: "mobile"\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.false.bool.field"\n}\nvalue {\n  val_double: 0\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.float.field"\n}\nvalue {\n  val_double: 101.2\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.int.field"\n}\nvalue {\n  val_double: 2000\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.neg.field"\n}\nvalue {\n  val_double: -100\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.neg.float.field"\n}\nvalue {\n  val_double: -101.2\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "my.true.bool.field"\n}\nvalue {\n  val_double: 1\n}\n,\n key {\n  type: TYPE_DOUBLE\n  name: "num_of_spans"\n}\nvalue {\n  val_double: 50\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_endpoint_version"\n}\nvalue {\n  val_str: "3"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_id"\n}\nvalue {\n  val_str: "88888888-4444-4444-8444-cccccccccccc"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_no_cache"\n}\nvalue {\n  val_str: "False"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_protocol_version"\n}\nvalue {\n  val_str: "3"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_use_post_or_schedule"\n}\nvalue {\n  val_str: "True"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "relay_use_post_or_schedule_rejected"\n}\nvalue {\n  val_str: "version"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "release"\n}\nvalue {\n  val_str: "[email protected]+c45b49caed1e5fcbf70097ab3f434b487c359b6b"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sdk.name"\n}\nvalue {\n  val_str: "sentry.python.django"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sdk.version"\n}\nvalue {\n  val_str: "2.7.0"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "segment.name"\n}\nvalue {\n  val_str: ".../0/relays/projectconfigs/"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.category"\n}\nvalue {\n  val_str: "http"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.environment"\n}\nvalue {\n  val_str: "development"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.op"\n}\nvalue {\n  val_str: "http.server"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.platform"\n}\nvalue {\n  val_str: "python"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.release"\n}\nvalue {\n  val_str: "[email protected]+c45b49caed1e5fcbf70097ab3f434b487c359b6b"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.sdk.name"\n}\nvalue {\n  val_str: "sentry.python.django"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.sdk.version"\n}\nvalue {\n  val_str: "2.7.0"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.status"\n}\nvalue {\n  val_str: "ok"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.status_code"\n}\nvalue {\n  val_str: "200"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.thread.id"\n}\nvalue {\n  val_str: "8522009600"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.thread.name"\n}\nvalue {\n  val_str: "uWSGIWorker1Core0"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.trace.status"\n}\nvalue {\n  val_str: "ok"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.transaction.method"\n}\nvalue {\n  val_str: "POST"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.transaction.op"\n}\nvalue {\n  val_str: "http.server"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "sentry.user"\n}\nvalue {\n  val_str: "ip:127.0.0.1"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "server_name"\n}\nvalue {\n  val_str: "D23CXQ4GK2.local"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "spans_over_limit"\n}\nvalue {\n  val_str: "False"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "thread.id"\n}\nvalue {\n  val_str: "8522009600"\n}\n,\n key {\n  type: TYPE_STRING\n  name: "thread.name"\n}\nvalue {\n  val_str: "uWSGIWorker1Core0"\n}\n]
  At index 1 diff: key {\n  type: TYPE_DOUBLE\n  name: "duration_ms"\n}\nvalue {\n  val_double: 152\n}\n != key {\n  type: TYPE_DOUBLE\n  name: "eap.measurement"\n}\nvalue {\n  val_double: 100\n}\n
  Left contains 11 more items, first extra item: key {\n  type: TYPE_STRING\n  name: "sentry.thread.name"\n}\nvalue {\n  val_str: "uWSGIWorker1Core0"\n}\n
  Full diff:
    [
     key {
      type: TYPE_STRING
      name: "color"
    }
    value {
      val_str: "red"
    }
    ,
     key {
      type: TYPE_DOUBLE
  +   name: "duration_ms"
  + }
  + value {
  +   val_double: 152
  + }
  + ,
  +  key {
  +   type: TYPE_DOUBLE
      name: "eap.measurement"
    }
    value {
      val_double: 100
    }
    ,
     key {
  +   type: TYPE_DOUBLE
  +   name: "end_timestamp"
  + }
  + value {
  +   val_double: 1744826401
  + }
  + ,
  +  key {
      type: TYPE_STRING
      name: "environment"
    }
    value {
      val_str: "development"
    }
    ,
     key {
  +   type: TYPE_DOUBLE
  +   name: "exclusive_time_ms"
  + }
  + value {
  +   val_double: 0.228
  + }
  + ,
  +  key {
      type: TYPE_STRING
      name: "http.status_code"
    }
    value {
      val_str: "200"
    }
    ,
     key {
  +   type: TYPE_DOUBLE
  +   name: "is_segment"
  + }
  + value {
  +   val_double: 1
  + }
  + ,
  +  key {
      type: TYPE_STRING
      name: "location"
    }
    value {
      val_str: "mobile"
    }
    ,
     key {
      type: TYPE_DOUBLE
      name: "my.false.bool.field"
    }
    value {
      val_double: 0
    }
    ,
     key {
      type: TYPE_DOUBLE
      name: "my.float.field"
    }
    value {
      val_double: 101.2
    }
    ,
     key {
      type: TYPE_DOUBLE
      name: "my.int.field"
    }
    value {
      val_double: 2000
    }
    ,
     key {
      type: TYPE_DOUBLE
      name: "my.neg.field"
    }
    value {
      val_double: -100
    }
    ,
     key {
      type: TYPE_DOUBLE
      name: "my.neg.float.field"
    }
    value {
      val_double: -101.2
    }
    ,
     key {
      type: TYPE_DOUBLE
      name: "my.true.bool.field"
    }
    value {
      val_double: 1
    }
    ,
     key {
  +   type: TYPE_STRING
  +   name: "name"
  + }
  + value {
  +   val_str: "root"
  + }
  + ,
  +  key {
      type: TYPE_DOUBLE
      name: "num_of_spans"
    }
    value {
      val_double: 50
    }
    ,
     key {
      type: TYPE_STRING
  +   name: "parent_span_id"
  + }
  + value {
  +   val_str: "0000000000000000"
  + }
  + ,
  +  key {
  +   type: TYPE_STRING
      name: "relay_endpoint_version"
    }
    value {
      val_str: "3"
    }
    ,
     key {
      type: TYPE_STRING
      name: "relay_id"
    }
    value {
      val_str: "88888888-4444-4444-8444-cccccccccccc"
    }
    ,
     key {
      type: TYPE_STRING
      name: "relay_no_cache"
    }
    value {
      val_str: "False"
    }
    ,
     key {
      type: TYPE_STRING
      name: "relay_protocol_version"
    }
    value {
      val_str: "3"
    }
    ,
     key {
      type: TYPE_STRING
      name: "relay_use_post_or_schedule"
    }
    value {
      val_str: "True"
    }
    ,
     key {
      type: TYPE_STRING
      name: "relay_use_post_or_schedule_rejected"
    }
    value {
      val_str: "version"
    }
    ,
     key {
      type: TYPE_STRING
      name: "release"
    }
    value {
      val_str: "[email protected]+c45b49caed1e5fcbf70097ab3f434b487c359b6b"
    }
    ,
     key {
  +   type: TYPE_DOUBLE
  +   name: "sampling_factor"
  + }
  + value {
  +   val_double: 1
  + }
  + ,
  +  key {
      type: TYPE_STRING
      name: "sdk.name"
    }
    value {
      val_str: "sentry.python.django"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sdk.version"
    }
    value {
      val_str: "2.7.0"
    }
    ,
     key {
      type: TYPE_STRING
      name: "segment.name"
    }
    value {
      val_str: ".../0/relays/projectconfigs/"
    }
    ,
     key {
      type: TYPE_STRING
  +   name: "segment_id"
  + }
  + value {
  +   val_str: "515f7dfd9f244664"
  + }
  + ,
  +  key {
  +   type: TYPE_STRING
  +   name: "segment_name"
  + }
  + value {
  +   val_str: ".../0/relays/projectconfigs/"
  + }
  + ,
  +  key {
  +   type: TYPE_STRING
      name: "sentry.category"
    }
    value {
      val_str: "http"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.environment"
    }
    value {
      val_str: "development"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.op"
    }
    value {
      val_str: "http.server"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.platform"
    }
    value {
      val_str: "python"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.release"
    }
    value {
      val_str: "[email protected]+c45b49caed1e5fcbf70097ab3f434b487c359b6b"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.sdk.name"
    }
    value {
      val_str: "sentry.python.django"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.sdk.version"
    }
    value {
      val_str: "2.7.0"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.status"
    }
    value {
      val_str: "ok"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.status_code"
    }
    value {
      val_str: "200"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.thread.id"
    }
    value {
      val_str: "8522009600"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.thread.name"
    }
    value {
      val_str: "uWSGIWorker1Core0"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.trace.status"
    }
    value {
      val_str: "ok"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.transaction.method"
    }
    value {
      val_str: "POST"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.transaction.op"
    }
    value {
      val_str: "http.server"
    }
    ,
     key {
      type: TYPE_STRING
      name: "sentry.user"
    }
    value {
      val_str: "ip:127.0.0.1"
    }
    ,
     key {
      type: TYPE_STRING
      name: "server_name"
    }
    value {
      val_str: "D23CXQ4GK2.local"
    }
    ,
     key {
      type: TYPE_STRING
  +   name: "service"
  + }
  + value {
  +   val_str: "1"
  + }
  + ,
  +  key {
  +   type: TYPE_STRING
      name: "spans_over_limit"
    }
    value {
      val_str: "False"
    }
    ,
     key {
  +   type: TYPE_DOUBLE
  +   name: "start_timestamp"
  + }
  + value {
  +   val_double: 1744826400
  + }
  + ,
  +  key {
      type: TYPE_STRING
      name: "thread.id"
    }
    value {
      val_str: "8522009600"
    }
    ,
     key {
      type: TYPE_STRING
      name: "thread.name"
    }
    value {
      val_str: "uWSGIWorker1Core0"
    }
    ,
    ]

To view more test analytics, go to the Test Analytics Dashboard 📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

codecov[bot] avatar Apr 15 '25 23:04 codecov[bot]

This was handled in another PR.

phacops avatar Jun 04 '25 20:06 phacops