Dashboard › getsentry › Distillation
84cfd01f-7f4f-495e-859b-a4db4e5826f3["eba1e869b945892448a72c32c3fd959c","1ef0ee29690f331c03096f6e5ec49e70","b2a6b5a3237a6408fe74a0b7a711b4c1","02814ad062152c0eae85baacee85760c","580a74a18671dec25ed754ad9b249188","739777ea6f7c3883c846ca89cedc0f40","5322f97eae5e456cd24554259e356309","4f18626c542f807e5a1e33f282cb836f","e2c75239d2c784efefb6c4d0266656bd","482b0dfddf5dc7d8e420e1222729e6b4","68ef700038aee13d55c3aa98a0c7e16b","4e91327c9a9495a87e27a0111c18213e","07253b7e6be9bf905d9370b81bd4c2fa","703a600f1e07ee6021029803ed8d7f5e","d3e695c0535b43a67aa4adb24279cb7c","856efb9ef918b736e911df7a82d36ffd","6db751006ce4e6737b7da67236eb640a","9956d8ce15711939f0491af52acf7d51","26039c2cf984754972004488aef77071","70ee184b2acbdcf2e329e7c7c49f9ada","7af25fd7b245d5f2131dfe26adc69cfc","7d837397d30bcf5fbe882ac86dbd8e6b","3320d61ea041d8c5a791f457e81eb457","04381acfa6fc94dc1ff9d8a0f23a6199","8e1f9e3b89841590c41df30de09d063b","77e93138b5aa81a20c465a5e2492240b","b66def87a1dac3a4136d9520788904e4","17759369d09f1da91de1fac0991cf0bb","d93b1bab25ec7ee232745f5f5da5a474","f37d70a499d96d848715b00ad1f3e4b6","638a045c55e22c645086ab6a70c48191","1901c1ae6412b771c3709493b716debd","de29e710cbbc44acb188d394dd37f252","47bd7b3b745f75e3833a8da969c921d7","f54a88326be2910ccacdb22c6820f158","c942a3b605d06bb4f5a574b8eecee6c1","f70d8fd287bfbd9744b68d40c8ddea66","92e8b1983ba7c34c6cca0287ceb1e8e9","5d151d005ad1262ca0ad6f4d738cc9af","aaab295f73d23c5f0f3415ca0947804d","1f00a423cd6f30bf178b2d6cf0494b4c","adbb7d265f8bda5861f8c11e9d73ba77","fdf22b2dc7e8c0aaef8f160b0bbb156b","ab8f40daa88fe0119fcbbdeeaf30ea81","4b8c19bf1b32e4e43366a0f10910ae1e","6f44f7b4a497ceb60ba5f52fb2c8eca8","c1b6a610d68bd81b0ba10fe2bd9b1fd6","ca3dfba074675c3c8eacde72c4d67cdc","b38a81c83c865f17885ace93885dc43e","46b0f8a3cd962577c95787ce77ec261c","e03a2d5c4f6191f65acafd920b0e5c56","cdff30deb2e53bc53659f9be4753a7ae","de541ac97fd7a8f6543f006ddccd82d1","40029194587d5d0b13f1ebf51a94dad9","267a3cd18182e1a2bc3a3b402c2525b9","cf827446d98f2ee0d8c1b850a03add3a","48b2a487923ac9b18f2030584046a83c","1017ebc51bda5409115b339923c22fa3","37995f5b5db65b98a84375e3277c4d8c","7b1ca2865cc80bd6874ed9fd2da1852a","a333fa5c10ffa07e3672106a00424fa1","4522c2272d76e17bb787f8909bb29253","deb7ee4a6b528d5f3078975e5556938d","411f823950fd302033ff94acd7b81963","26dd615e955af223dd0aed88a9008a35","510f8bb2e0f1f6f8b3d9ad615f516cdd","dab9b94359947d46cf25a78598fe1143","36f59514b2b6623f3dca82b1a89f7f2e","b3823edb80dba6f4600af65acaae95c6","9ba4f2f432495bd94081d8c1c48ec154","08094116bad332c0e884e5a5bd1dd142","c32642ba4f2a0648e2d90a0985c2abbf","cccb004d35bd48d580e02a95178292fd","477ae946dcdb4add309bd13cad65d20a","bc8890c54f586525b7142901a61adbb1","709a53985f0ce66f8445e11585e92ae9","f1cb552fa9033090fa1a251f3835863c","fbc9256bd617ff851a53a5c033bae238","b23d3afab0439f10a45d31d8de454a65","3b18b39711087620f64382b75e37dc50","62a71244e388f2b9bae233b075caf4b0","1b67f092067b4e9eff3562bd8096fed4","8ad0045722761d98936c65b874c75a44","c8009c9221f9fd0cd1c9f5a84599571c","168929c0a9ae19b135da7b120893d8e5","401d2c966b50e542a8febda6754f0736","ed5f83f6adf734457ed2afe1b310753d","7db515371db6eb2d66bdcad4f7df3c23","b3a50c611ffee459848df1bafa8d65c6","fea8271e24c04fc824d9190beca8b666","6711bcdbd8c7d675cc14873b2b187c7a","62b4104243ec3e4a415ea2555223ba04","c60eacbd05d6a16df9c7b56d8c11b14a","463dd476f8b0b79de9fc63f057115af6","41871066605e9b6c2a88fca503bb23e9","b84a86d4ae0727014c2a19933997c209","85c5a4508406b25330f41dcac20fdaca","ed78915816b774098570f4ea2a7c3e40","9388706b344b25af09642dfc300128ed","002a6fbdc8ab147055b0181dfe20cb95","76bc4ca013d002acf8b036e10ba742d4","ff7b65ca6dab1ed8963f2a2a771aeee6","2520a52a43e0605c3de62a26e1be1f8c","f49256168863f72e5a174aa080b53b64","84983fff19827bd904e304f281f7c7cc","0c59df873ec89ba01b1595d8de6bd8e6","2743169dee9785b188e0515a610ef0e6","e354593be64273f4780700a9b074cdf1","de12190e0ca3b6c18c4ef54ef4ccdda9","b8e861ba480562e279f571851be73b00","b4bff982c0b689ec0303c3dc37bfdbe0","72a56003029f43bb118f0ed42fc5c73f","98d5eda9600c7f90620b2b822f811bf5","43ade20515f701c1dfb9de9618882c56","621183477db32326947d34d79eb28df2","6e76fe5a87c0ff051eaa849b69e50135","c44638e585d643dfb9667527e75bb0ba","dd2f72e39d1ab56df152d2169e8c8478","6879332594a7dd3c53de359aeda2c1ab","6a3666cf199bb77f7df07bf9879f5cfa","6f0782a75ba936929614491ff4cc084d","843304cceef7ececaaf61c4f06c1c24b","d5eba01f94ea11bd030512746b2f3dc1","2965eb8b99f9d6c0ea7525b9706ec17b","2de988ab74d685958aadcaa435f8f0b5","e14eef8ee7fbdadc2df338d4c2ed2dd4","cc0ba1e4996e24ca2247e531d0d12978","321fa76a479c91fa3d8f2bba8724ab8b","71c86dd64a434dde9d7c40296d1c122f","96f9e0b9035a57a4fbb9eaf286b27567","61137e9197da657b111be475dd948616","6aa1e0a4514196383bca5117c0057852","a0c15553159401cf5cf9e5ada8410850","8096a231c5c338ed49af66dccdf3a1ed","9d8d26ca7d90ce63fa885a249f73016e","72d0c094b627906150636d9e75bdf53a","8305a19b17b193a18b6e5f663aab383f","09663eb917357ab670ef18b2302e3817","9288cae1dca90fdb4e364bfa37c569cb","fdc6bc4fc3d9f5cf5a6bd0d9348c4830","3107a85aa36044bab4858dd51815f089","569d2a3cec7df2268f45e3ec28efe4e3","6d149f793f6a4ac27f157326fb3e7933","8a768692849e15663d826f231b743d65","2ceb771e430d984791500104f065aacb","f94c1a179018d680e32e79530c08be45","545e0ed04d0c5007520351093441b5c6","3047da9bcfd34978fd3df2d1f2bb1c82","14aafa99a377c9a466e1fc7413a8eaff","736093f46d1e5ad3773c60892ff069ab","623e33117a15602e2c10222a93bce18c","e8f18dfcbd4af8f81c8f65e0680dddc5","2d945be6779f886de57dacea9906770c","500b1a482c3c0e47a176315b24f12cbb","a276183a689a614d92506656ea3916a5","2976c649b544b794d3c9ce952af3082c","98ba4f1ff57876f2a7b0fcaff8ffa7b7","42d20b578a34d2d33782fbbf97ab82f8","2e6cf58b47ecd788cb4f8f35fc0c412e","104b91b5c53c7519b386d9ea0a19b3cd","48ea8853093a2af91267f95689d86ca5","81577ba9e2c493190da8cc535194bd97","de50545b37229d4b8490e0faf9f1c40d","6e0c6795cc90406f4c74028c552fa2be","caf9ad9f990e4cbed6d26bf01ed4648d","fc254493b7ca590542cc7a9e5dac74fb","e9b48146acd508a9ce8d5c575b9160b0","fb9b2bc57ba3ca2b3b37e236496c4099","b3d72e0d7b367a7302c228fb6b453894","72dcb204e1c333dc227474b5b57d7ff7","a6d3b2d6f5bc037b9ef7a9f1b6e793c4","64e73c3de6cc6e2b0be7fce1dd259f78","9d8a1baee7a592a2ca45cd97124122c3","a147d01891fc988bc8dbccea419bf767","2a730f93935e696d41dcdef808a9acce","dde62e8aadf4f5804d43f684c0c27b8b","27b8bbd54b95cc14226df3042b763387","5a604ca6956815c5346b10b6eeeb4c4d","5e940f4f344752079605df826fd6cfb2","7a68b3995ad19d6aa09d9ac3750935d9","2ebed6615e066d1d4dd843ad56f86ecf","1db02dc79aaeb976c8455ccdcbcfa157","ac5812a0867d4ba0e062df417655f67f","52c621e518247f2903f52e2530b1ac1a","4f797ee6b786e45d77d4218c9684975a","8d1d52b99de004719d7c3e0ba7510b81","1b4401640da3de8b73469a4cbb8575f7","b8cd2414a9a119d794a9efcb84554e5a","11da8a569c3b14beabc5021fc95af91f","9973cbcb6f3e1079f2adbe01e3fd44a4","2e615e300d8ecbd38cf005e6612d1a4a","1f8346410b1e85dc583444be3c2afc95","c8095ecd2e401e443b15def998f33466","f1bf858b1151d0e886d618dbbbd33586","dee109f4da8d697a49ce69cb039eaccd","77c077408e91bb2183b81f897da6ff3b","3fb71f177062810dc449fff5f54a4f28","50524bed1d7da184c1b875cf45a25eeb","0b67f1fd41fdf5a127797748ceda48f5","ed2576cf00d8f4cba46dcb0cb8919a0f","141ce9d66228060bc4c06b20110a7ad5","a637b8769d9cebc7f10f9a7db7d3a59a","b39f79ee06c2be21858035621a667468","07eca8b518a29a277490608cde9df02f","4165b0f29761f251f926fcc2b566781b","216c9a7218912923ee1328685c871261","fa0f63672b97e5908efff084b5655186","d547902f0e8ac5be1628c4c94a523602","1973b540624f45d6b33c6988721387aa","5fbf5817f777529a089d04e93dd1d4e6","948769b552dd796c5cb1d236119d4473","9c04676af9ff3d8f252dd795ca98e5f8","74ccedca113c9393c4580c1e98219fda","140e4880f7892bb8f8abe2d30309229d","bd16f15392a9ee27407f5543a2e513a5","00f8bed72839c11048bf07f62fcc4c57","61316424c0b5f04dc56eff30a1e6ac58","1dcfea86b12ac88ca80dfcfe48f9523a","8d760865a90d59441110ca9a036b8778","7eb5928a5d8c5d86ee22f8152ea4ac4e","8ea2418d6c1c540d498ff3ba26eb0a51","9078e7b98ada64db15ec93b7d24806ef","a25ff10c5e9f755865c98a42ec9075a7","f3680f1143213a87e0d143592ddffd6c","598991b34e4d36c11b88f3e534533fb8","3ab026f23356b5974cf8669dbad0d910","8db3ce8561bca45b3a25b67cd4cdde1e","82313f7985701da604964031a9aaa236","82ebd2adc2acfef07f8cb1fad9870114","5ec666cad38e4f22a675afe200311e90","e5fc6bf5d21376680132626688405103","6cd6f9c509f3152f1ee63b079ecf222b","a7907856d24c02d87a4823383981f458"]
Actively working on getting PR #21336 (fix(orbital): restore notify metrics, IP fallback, and Service DNS) in getsentry/sentry repo ready to merge. Branch: fix/orbital-volume-metrics-ip-dns. Latest commits on branch:
6822013f33 — original fix (metrics, IP fallback, DNS)1140515902 — noop when socket unset, FQDN default DNSd5a1d30bab — drop unused type: ignore on sendtoae1ed477fe — test(orbital): exercise noop and startup paths via reimport (pushed 20:20)CI run 30947425809 in progress (started 2026-08-04T20:20:45Z); scheduled follow-up id xm5zkrpo will re-check status in 5 min. Previous run 30945410348 succeeded (13m36s) but was before the test rewrite. Branch is 4 commits ahead of master, mergeable=MERGEABLE, but reviewDecision=CHANGES_REQUESTED (BYK, 2026-08-02T15:58:29Z) — open review thread from cursor bugbot needs dismissal or response.
Trailing-dot FQDN DNS — use orbital-udp.default.svc.cluster.local.:5556 (trailing dot before colon) to avoid ndots:5 search-domain amplification. Pattern matches twemproxy in same cellsilo.py file (lines 1135/1138/1146) and controlsilo.py:254. BYK expressed uncertainty ("Not sure if this is valid") but pattern accepted as valid by bugbot convention.
Conditional notify_orbital binding (BYK's design, accepted) — instead of emitting no_socket metric per event, rebind notify_orbital at module load:
udp_socket is not None → notify_orbital = _notify_orbital (real impl)udp_socket is None → def notify_orbital(*args, **kwargs) -> None: pass (typed noop)no_socket metric ONCE at module load (in try/except block) when ORBITAL_UDP_SERVER is set but socket creation fails — flags real misconfiguration, not intentional unset stateORBITAL_UDP_SERVER → emitting no_socket per event causes metric spam from DE regionString-based mocking pattern — use patch("getsentry.receivers.orbital.metrics.incr") (string path) instead of mock.patch.object(orbital.metrics, "incr") to satisfy mypy [attr-defined]. This is the codebase convention (reference: tests/getsentry/consumers/test_outcomes_consumer.py:1829, tests/getsentry/billing/platform/utils/test_seats_dual_run.py:81, etc.).
Typed noop over lambda — use def notify_orbital(*args: Any, **kwargs: Any) -> None: pass rather than lambda *a, **kw: None to satisfy mypy typing.
event_accepted.connect(notify_orbital, weak=False) (explicit) — not @event_accepted.connect(...) decorator, because the decorator returns the Django Signal.connect result (None), which would rebind notify_orbital to None.
Import StreamedSpan issue unrelated — files in sentry repo importing from sentry_sdk.traces import StreamedSpan already worked; no action needed (note: in getsentry repo, Orbital/UdpSocket doesn't use StreamedSpan).
Skip local test execution — local venv is too stale (missing sentry-arroyo>=2.42.0, mypy_django_plugin, etc.) to run pytest or mypy. Trust CI instead. Lint/format pass locally + CI was running tests + mypy errors known and fixed.
Test noop binding via importlib.reload(orbital) — after bugbot flagged that test_notify_orbital_is_noop_when_udp_socket_unset always skips because test env loads dev.py (which sets ORBITAL_UDP_SERVER="127.0.0.1:5556"), rewrite tests to actually exercise both paths by setting getsentry_settings.ORBITAL_UDP_SERVER to None or invalid string, then reloading the module.
Files modified on branch fix/orbital-volume-metrics-ip-dns:
getsentry/conf/settings/cellsilo.py (line ~2299, inside if SENTRY_LOCAL_CELL == "us":)
ORBITAL_UDP_SERVER = "orbital-udp.default.svc.cluster.local:5556" # was 10.2.0.43:5556 (stale Internal LB IP since 2019)ORBITAL_UDP_SERVER = "orbital-udp.default.svc.cluster.local.:5556" with comment: "trailing dot makes the name FQDN so pod-side ndots:5 doesn't walk search domains on every sendto (same pattern as twemproxy-…svc.cluster.local.)"ORBITAL_UDP_SERVER = env("ORBITAL_UDP_SERVER") or None (unchanged)getsentry/receivers/orbital.py (final ~103 lines)
if ORBITAL_UDP_SERVER: guard, try/except wraps socket.getaddrinfo(...) and socket.socket(...); on failure sets udp_socket = None, udp_addr = None, emits metrics.incr("getsentry.orbital.notify", tags={"outcome": "no_socket"}) once_ip_from_event(data: Any) -> str | None helper: extracts data["user"]["ip_address"] with type guards (data is dict, user is dict, ip is non-empty str)_notify_orbital(ip: Any, data: Any = None, **kwargs: Any) -> None (underscore-prefixed impl): emits getsentry.orbital.notify metric with outcomes no_socket, ip_present, ip_fallback, ip_missing, geo_error, geo_miss, send_error, sent at each return pathnotify_orbital = _notify_orbital if udp_socket is not None else (lambda *a, **kw: None) — NO wait, actually used typed def: def notify_orbital(*args: Any, **kwargs: Any) -> None: pass (typed noop, not lambda)event_accepted.connect(notify_orbital, weak=False) (explicit, not decorator)# type: ignore[union-attr] was REMOVED in commit d5a1d30bab (mypy [unused-ignore] error)tests/getsentry/receivers/test_orbital.py (final ~115 lines)
from unittest.mock import MagicMock, patch (separate from from unittest import mock)_outcomes(self, incr: MagicMock) -> list[str] helper: [call.kwargs["tags"]["outcome"] for call in incr.call_args_list]patch("getsentry.receivers.orbital.metrics.incr") (string-based, not mock.patch.object)test_no_socket — verifies noop behavior (no metric emitted)test_ip_missing — outcomes ["ip_missing"], sock.sendto.call_count == 0test_ip_fallback_from_event_user — outcomes ["ip_fallback", "sent"], geo called with "8.8.8.8", payload [3] == "javascript" (lowercased)test_remote_addr_preferred_over_event_user — outcomes ["ip_present", "sent"], geo called with "1.2.3.4" (not "8.8.8.8")test_geo_miss — outcomes ["ip_present", "geo_miss"], sock.sendto.call_count == 0test_geo_error — side_effect=ValueError("bad ip"), outcomes ["ip_present", "geo_error"], sock.sendto.call_count == 0test_send_error — sock.sendto.side_effect = OSError("network unreachable"), outcomes ["ip_present", "send_error"]test_sent — outcomes ["ip_present", "sent"], payload [0] == 37.7749, [1] == -122.4194, [3] == "python" (lowercased)ae1ed477fe:
test_notify_orbital_is_noop_when_udp_socket_unset: sets getsentry_settings.ORBITAL_UDP_SERVER = None, reloads orbital, asserts orbital.udp_socket is None and metrics.incr not called when notify_orbital invoked. Restores via finally.test_no_socket_metric_emitted_at_startup_when_server_invalid: sets getsentry_settings.ORBITAL_UDP_SERVER = "not-a-valid-endpoint", reloads orbital with metrics.incr patched, asserts udp_socket is None and outcomes == ["no_socket"]Bugs fixed:
tests/getsentry/receivers/test_orbital.py: lines 16, 25, 37, 55, 70, 81, 93, 105 had Module "getsentry.receivers.orbital" does not explicitly export attribute "metrics" [attr-defined]; line 10 had _outcomes missing type annotation [no-untyped-def]. Fixed by adding type annotation and switching to string-based patching.getsentry/receivers/orbital.py:79 had unused # type: ignore[union-attr] — removed.test_notify_orbital_is_noop_when_udp_socket_unset always skipped because test env loads dev.py (which sets ORBITAL_UDP_SERVER="127.0.0.1:5556"). Fixed via importlib.reload(orbital) pattern. BUGBOT_BUG