temporary.py 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526
  1. from .base import (
  2. FeatureHandlerStrategy,
  3. OrganizationFeature,
  4. ProjectFeature,
  5. ProjectPluginFeature,
  6. SystemFeature,
  7. )
  8. from .manager import FeatureManager
  9. # XXX: See `features/__init__.py` for documentation on how to use feature flags
  10. def register_temporary_features(manager: FeatureManager):
  11. """
  12. These flags are temporary. These flags exist as a way for us to gate newly
  13. developed features.
  14. [!!] THESE FLAGS ARE INTENDED TO BE REMOVED!
  15. [!!] Leaving around feature flags in the codebase introduces complexity
  16. that will constantly need to be understood! Complexity leads to longer
  17. times developing features, higher chance of introducing bugs, and
  18. overall less happiness working in sentry.
  19. CLEAN UP YOUR FEATURE FLAGS!
  20. """
  21. # No formatting so that we can keep them as single lines
  22. # fmt: off
  23. # NOTE: Please maintain alphabetical order when adding new feature flags
  24. # Features that don't use resource scoping #
  25. ############################################
  26. # Enables user registration.
  27. manager.add("auth:register", SystemFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  28. # Enable creating organizations within sentry (if SENTRY_SINGLE_ORGANIZATION is not enabled).
  29. manager.add("organizations:create", SystemFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  30. # Controls whether or not the relocation endpoints can be used.
  31. manager.add("relocation:enabled", SystemFeature, FeatureHandlerStrategy.INTERNAL)
  32. # Organization scoped features that are in development or in customer trials. #
  33. ###############################################################################
  34. # Enables activated alert rules
  35. manager.add("organizations:activated-alert-rules", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  36. # Enables alert creation on indexed events in UI (use for PoC/testing only)
  37. manager.add("organizations:alert-allow-indexed", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  38. # Use metrics as the dataset for crash free metric alerts
  39. manager.add("organizations:alert-crash-free-metrics", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  40. manager.add("organizations:alert-filters", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  41. # Enables the migration of alerts (checked in a migration script).
  42. manager.add("organizations:alerts-migration-enabled", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  43. # Enable anr frame analysis
  44. manager.add("organizations:anr-analyze-frames", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  45. # Enable anr improvements ui
  46. manager.add("organizations:anr-improvements", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  47. # Enable auth provider configuration through api
  48. manager.add("organizations:api-auth-provider", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  49. manager.add("organizations:api-keys", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=False)
  50. # Rollout of the new API rate limits for organization events
  51. manager.add("organizations:api-organization_events-rate-limit-reduced-rollout", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  52. # Enables the cron job to auto-enable codecov integrations.
  53. manager.add("organizations:auto-enable-codecov", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  54. # Enables getting commit sha from git blame for codecov.
  55. manager.add("organizations:codecov-commit-sha-from-git-blame", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  56. # Disables legacy cron ingest endpoints
  57. manager.add("organizations:crons-disable-ingest-endpoints", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  58. # Disables legacy cron ingest endpoints
  59. manager.add("organizations:crons-write-user-feedback", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  60. # Enable daily summary
  61. manager.add("organizations:daily-summary", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  62. # Enable dashboard widget indicators.
  63. manager.add("organizations:dashboard-widget-indicators", OrganizationFeature, FeatureHandlerStrategy.REMOTE, default=True)
  64. # Enables import/export functionality for dashboards
  65. manager.add("organizations:dashboards-import", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  66. # Enable metrics enhanced performance in dashboards
  67. manager.add("organizations:dashboards-mep", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  68. # Enable release health widget in dashboards
  69. manager.add("organizations:dashboards-rh-widget", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  70. manager.add("organizations:dashboards-span-metrics", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  71. # Delightful Developer Metrics (DDM):
  72. # Enables experimental WIP custom metrics related features
  73. manager.add("organizations:custom-metrics-experimental", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  74. # Enables custom metrics extraction rule endpoint
  75. manager.add("organizations:custom-metrics-extraction-rule", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE)
  76. # Hides DDM sidebar item
  77. manager.add("organizations:ddm-sidebar-item-hidden", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  78. # Enable the default alert at project creation to be the high priority alert
  79. manager.add("organizations:default-high-priority-alerts", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  80. # Enables automatically deriving of code mappings
  81. manager.add("organizations:derive-code-mappings", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  82. # Enables synthesis of device.class in ingest
  83. manager.add("organizations:device-class-synthesis", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  84. # Enable device.class as a selectable column
  85. manager.add("organizations:device-classification", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  86. # Enable the 'discover' interface. (might be unused)
  87. manager.add("organizations:discover", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  88. # Enable the org recalibration
  89. manager.add("organizations:ds-org-recalibration", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  90. # Enables data secrecy mode
  91. manager.add("organizations:enterprise-data-secrecy", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  92. # Enable archive/escalating issue workflow in MS Teams
  93. manager.add("organizations:escalating-issues-msteams", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  94. # Enable archive/escalating issue workflow features in v2
  95. manager.add("organizations:escalating-issues-v2", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  96. # Enable emiting escalating data to the metrics backend
  97. manager.add("organizations:escalating-metrics-backend", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  98. # Enable disabling gitlab integrations when broken is detected
  99. manager.add("organizations:gitlab-disable-on-broken", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  100. # Enable experimental new version of stacktrace component where additional
  101. # data related to grouping is shown on each frame
  102. manager.add("organizations:grouping-stacktrace-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  103. # Enable only calculating a secondary hash when needed
  104. manager.add("organizations:grouping-suppress-unnecessary-secondary-hash", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  105. # Enable tweaks to group title in relation to hierarchical grouping.
  106. manager.add("organizations:grouping-title-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  107. # Allows an org to have a larger set of project ownership rules per project
  108. manager.add("organizations:higher-ownership-limit", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  109. # Enable increased issue_owners rate limit for auto-assignment
  110. manager.add("organizations:increased-issue-owners-rate-limit", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  111. # Starfish: extract metrics from the spans
  112. manager.add("organizations:indexed-spans-extraction", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  113. # Enable custom alert priorities for Pagerduty and Opsgenie
  114. manager.add("organizations:integrations-custom-alert-priorities", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  115. # Enable integration functionality to work deployment integrations like Vercel
  116. manager.add("organizations:integrations-deployment", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  117. manager.add("organizations:integrations-feature-flag-integration", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  118. # Allow tenant type installations through issue alert actions
  119. manager.add("organizations:integrations-msteams-tenant", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  120. # Enable inviting members to organizations.
  121. manager.add("organizations:invite-members", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  122. # Enable rate limits for inviting members.
  123. manager.add("organizations:invite-members-rate-limits", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  124. # Enables the UI for Autofix in issue details
  125. manager.add("organizations:issue-details-autofix-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  126. # Enables a toggle for entering the new issue details UI
  127. manager.add("organizations:issue-details-new-experience-toggle", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  128. # Enable tag improvements in the issue details page
  129. manager.add("organizations:issue-details-tag-improvements", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  130. # Enable issue priority in the UI
  131. manager.add("organizations:issue-priority-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  132. # Whether to allow issue only search on the issue list
  133. manager.add("organizations:issue-search-allow-postgres-only-search", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  134. # Whether to make a side/parallel query against events -> group_attributes when searching issues
  135. manager.add("organizations:issue-search-group-attributes-side-query", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  136. # Enable custom views features in the issue stream
  137. manager.add("organizations:issue-stream-custom-views", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  138. # Enable the updated empty state for issues
  139. manager.add("organizations:issue-stream-empty-state", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  140. # Enable issue stream performance improvements
  141. manager.add("organizations:issue-stream-performance", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  142. # Enable the new issue stream search bar UI
  143. manager.add("organizations:issue-stream-search-query-builder", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  144. manager.add("organizations:large-debug-files", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  145. # Enabled latest adopted release filter for issue alerts
  146. manager.add("organizations:latest-adopted-release-filter", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  147. manager.add("organizations:mep-rollout-flag", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  148. manager.add("organizations:mep-use-default-tags", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  149. # Enable metric alert charts in email/slack
  150. manager.add("organizations:metric-alert-chartcuterie", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  151. # Enable ignoring archived issues in metric alerts
  152. manager.add("organizations:metric-alert-ignore-archived", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  153. # Enable load shedding for newly created metric alerts
  154. manager.add("organizations:metric-alert-load-shedding", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  155. # Enable threshold period in metric alert rule builder
  156. manager.add("organizations:metric-alert-threshold-period", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  157. # Enables the search bar for metrics samples list
  158. manager.add("organizations:metrics-samples-list-search", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  159. # Enable Session Stats down to a minute resolution
  160. manager.add("organizations:minute-resolution-sessions", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  161. # Display CPU and memory metrics in transactions with profiles
  162. manager.add("organizations:mobile-cpu-memory-in-transactions", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  163. # Enable column that shows ttid ttfd contributing spans
  164. manager.add("organizations:mobile-ttid-ttfd-contribution", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  165. # Adds the ttid & ttfd vitals to the frontend
  166. manager.add("organizations:mobile-vitals", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  167. # Enables higher limit for alert rules
  168. manager.add("organizations:more-slow-alerts", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  169. manager.add("organizations:new-page-filter", OrganizationFeature, FeatureHandlerStrategy.REMOTE, default=True)
  170. manager.add("organizations:new-weekly-report", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  171. # Display warning banner for every event issue alerts
  172. manager.add("organizations:noisy-alert-warning", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  173. # Notify all project members when fallthrough is disabled, instead of just the auto-assignee
  174. manager.add("organizations:notification-all-recipients", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  175. # Enable User Feedback v1
  176. manager.add("organizations:old-user-feedback", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  177. # Extract on demand metrics
  178. manager.add("organizations:on-demand-metrics-extraction", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  179. # Extract on demand metrics (experimental features)
  180. manager.add("organizations:on-demand-metrics-extraction-experimental", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  181. # Extract on demand metrics (widget extraction)
  182. manager.add("organizations:on-demand-metrics-extraction-widgets", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  183. # This spec version includes the environment in the query hash
  184. manager.add("organizations:on-demand-metrics-query-spec-version-two", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  185. # Display on demand metrics related UI elements
  186. manager.add("organizations:on-demand-metrics-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  187. # Display on demand metrics related UI elements, for dashboards and widgets. The other flag is for alerts.
  188. manager.add("organizations:on-demand-metrics-ui-widgets", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  189. # Only enabled in sentry.io to enable onboarding flows.
  190. manager.add("organizations:onboarding", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  191. # Enable the SDK selection feature in the onboarding
  192. manager.add("organizations:onboarding-sdk-selection", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  193. # Enable views for anomaly detection
  194. manager.add("organizations:performance-anomaly-detection-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  195. # Enable mobile performance score calculation for transactions in relay
  196. manager.add("organizations:performance-calculate-mobile-perf-score-relay", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  197. # Enable performance change explorer panel on trends page
  198. manager.add("organizations:performance-change-explorer", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  199. # Enable interpolation of null data points in charts instead of zerofilling in performance
  200. manager.add("organizations:performance-chart-interpolation", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  201. # Enable consecutive http performance issue type
  202. manager.add("organizations:performance-consecutive-http-detector", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  203. # Enable database view powered by span metrics
  204. manager.add("organizations:performance-database-view", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  205. # Enable database view percentile graphs
  206. manager.add("organizations:performance-database-view-percentiles", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  207. manager.add("organizations:performance-db-main-thread-detector", OrganizationFeature)
  208. # Enable Discover Saved Query dataset selector
  209. manager.add("organizations:performance-discover-dataset-selector", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  210. # Enable backend overriding and always making a fresh split decision
  211. manager.add("organizations:performance-discover-widget-split-override-save", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  212. # Enable UI sending a discover split for widget
  213. manager.add("organizations:performance-discover-widget-split-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  214. manager.add("organizations:performance-file-io-main-thread-detector", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  215. # Rename current Performance modules to "Insights"
  216. manager.add("organizations:performance-insights", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  217. # Enables updated all events tab in a performance issue
  218. manager.add("organizations:performance-issues-all-events-tab", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  219. # Enable performance issues dev options, includes changing parts of issues that we're using for development.
  220. manager.add("organizations:performance-issues-dev", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  221. # Temporary flag to test search performance that's running slow in S4S
  222. manager.add("organizations:performance-issues-search", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  223. # Enables a longer stats period for the performance landing page
  224. manager.add("organizations:performance-landing-page-stats-period", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  225. # Enable consecutive http performance issue type
  226. manager.add("organizations:performance-large-http-payload-detector", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  227. # Enable internal view for bannerless MEP view
  228. manager.add("organizations:performance-mep-bannerless-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  229. # Re-enable histograms for Metrics Enhanced Performance Views
  230. manager.add("organizations:performance-mep-reintroduce-histograms", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  231. # Enable metrics-backed transaction summary view
  232. manager.add("organizations:performance-metrics-backed-transaction-summary", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  233. # Enable the UI for displaying mobile performance score
  234. manager.add("organizations:performance-mobile-perf-score-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  235. # Enable new trends
  236. manager.add("organizations:performance-new-trends", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  237. # Enable updated landing page widget designs
  238. manager.add("organizations:performance-new-widget-designs", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  239. # Enable performance on-boarding checklist
  240. manager.add("organizations:performance-onboarding-checklist", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  241. # Enable removing the fallback for metrics compatibility
  242. manager.add("organizations:performance-remove-metrics-compatibility-fallback", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  243. # Enable span search bar in Insights module sample panels
  244. manager.add("organizations:performance-sample-panel-search", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  245. # Enable platform selector for screens flow
  246. manager.add("organizations:performance-screens-platform-selector", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  247. # Enable screens view powered by span metrics
  248. manager.add("organizations:performance-screens-view", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  249. # Enable histogram view in span details
  250. manager.add("organizations:performance-span-histogram-view", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  251. # Enable trace details page with embedded spans
  252. manager.add("organizations:performance-trace-details", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  253. # Enable trace explorer features in performance
  254. manager.add("organizations:performance-trace-explorer", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  255. # Enable linking to trace explorer from metrics
  256. manager.add("organizations:performance-trace-explorer-with-metrics", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  257. # Enable FE/BE for tracing without performance
  258. manager.add("organizations:performance-tracing-without-performance", OrganizationFeature, FeatureHandlerStrategy.REMOTE, default=True)
  259. # Enable transaction name only search
  260. manager.add("organizations:performance-transaction-name-only-search", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  261. # Enable transaction name only search on indexed
  262. manager.add("organizations:performance-transaction-name-only-search-indexed", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  263. # Hides some fields and sections in the transaction summary page that are being deprecated
  264. manager.add("organizations:performance-transaction-summary-cleanup", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  265. # Enables the new UI for span summary and the spans tab
  266. manager.add("organizations:performance-spans-new-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  267. # Experimental performance issue for streamed spans - ingestion
  268. manager.add("organizations:performance-streamed-spans-exp-ingest", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  269. # Experimental performance issue for streamed spans - UI
  270. manager.add("organizations:performance-streamed-spans-exp-visible", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  271. # Enable processing slow issue alerts
  272. manager.add("organizations:process-slow-alerts", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  273. # Enabled creating issues out of trends
  274. manager.add("organizations:performance-trends-issues", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  275. # Bypass 30 day date range selection when fetching new trends data
  276. manager.add("organizations:performance-trends-new-data-date-range-default", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  277. manager.add("organizations:performance-use-metrics", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  278. # Enable showing INP web vital in default views
  279. manager.add("organizations:performance-vitals-inp", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  280. # Enable profiling
  281. manager.add("organizations:profiling", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  282. # Enabled for those orgs who participated in the profiling Beta program
  283. manager.add("organizations:profiling-beta", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  284. # Enables production profiling in sentry browser application
  285. manager.add("organizations:profiling-browser", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  286. # Enables separate differential flamegraph page
  287. manager.add("organizations:profiling-differential-flamegraph-page", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  288. # Enable global suspect functions in profiling
  289. manager.add("organizations:profiling-global-suspect-functions", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  290. # Enable profiling summary redesign view
  291. manager.add("organizations:profiling-summary-redesign", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  292. # Enable the transactions backed profiling views
  293. manager.add("organizations:profiling-using-transactions", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  294. # Enable continuous profiling
  295. manager.add("organizations:continuous-profiling", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE)
  296. # Display profile durations on the stats page
  297. manager.add("organizations:continuous-profiling-stats", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  298. # Enable asking for feedback after project-create when replay is disabled
  299. manager.add("organizations:project-create-replay-feedback", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  300. # Limit project events endpoint to only query back a certain number of days
  301. manager.add("organizations:project-event-date-limit", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  302. # Enable project selection on the stats page
  303. manager.add("organizations:project-stats", OrganizationFeature, FeatureHandlerStrategy.REMOTE, default=True)
  304. # Enable the new Related Events feature
  305. manager.add("organizations:related-events", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  306. # Enable related issues feature
  307. manager.add("organizations:related-issues", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  308. # Enable related issues in issue details page
  309. manager.add("organizations:related-issues-issue-details-page", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  310. # Metrics cardinality limiter in Relay
  311. manager.add("organizations:relay-cardinality-limiter", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  312. # Enable the release details performance section
  313. manager.add("organizations:release-comparison-performance", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  314. # Enable new release UI
  315. manager.add("organizations:releases-v2", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  316. manager.add("organizations:releases-v2-banner", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  317. manager.add("organizations:releases-v2-internal", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  318. manager.add("organizations:releases-v2-st", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  319. # Enable playing replays from the replay tab
  320. manager.add("organizations:replay-play-from-replay-tab", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  321. # Mobile replay killswitch
  322. # TODO: Delete me on or before public beta.
  323. manager.add("organizations:session-replay-video", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  324. # Enable version 2 of reprocessing (completely distinct from v1)
  325. manager.add("organizations:reprocessing-v2", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  326. manager.add("organizations:required-email-verification", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  327. # Enable resolve in upcoming release
  328. manager.add("organizations:resolve-in-upcoming-release", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  329. # Enable post create/edit rule confirmation notifications
  330. manager.add("organizations:rule-create-edit-confirm-notification", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  331. manager.add("organizations:sandbox-kill-switch", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  332. # Enable team member role provisioning through scim
  333. manager.add("organizations:scim-team-roles", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  334. # Enable detecting SDK crashes during event processing
  335. manager.add("organizations:sdk-crash-detection", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  336. # Replace the footer Sentry logo with a Sentry pride logo
  337. manager.add("organizations:sentry-pride-logo-footer", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  338. # Enable the Replay Details > Accessibility tab
  339. manager.add("organizations:session-replay-a11y-tab", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  340. # Enable the accessibility issues endpoint
  341. manager.add("organizations:session-replay-accessibility-issues", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  342. # Enable combined envelope Kafka items in Relay
  343. manager.add("organizations:session-replay-combined-envelope-items", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  344. # Enable canvas recording
  345. manager.add("organizations:session-replay-enable-canvas", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  346. # Enable canvas replaying
  347. manager.add("organizations:session-replay-enable-canvas-replayer", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  348. # Enable Hydration Error Issue Creation In Recording Consumer
  349. manager.add("organizations:session-replay-hydration-error-issue-creation", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  350. # Enable linking from 'new issue' email notifs to the issue replay list
  351. manager.add("organizations:session-replay-issue-emails", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  352. # Enable queries to materialized view from replay index endpoint
  353. manager.add("organizations:session-replay-materialized-view", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, default=False)
  354. # Enable mobile replay player
  355. manager.add("organizations:session-replay-mobile-player", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  356. # Enable mobile replay player network tab
  357. manager.add("organizations:session-replay-mobile-network-tab", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  358. # Enable the new event linking columns to be queried
  359. manager.add("organizations:session-replay-new-event-counts", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  360. # Enable Rage Click Issue Creation In Recording Consumer
  361. manager.add("organizations:session-replay-rage-click-issue-creation", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  362. # Enable data scrubbing of replay recording payloads in Relay.
  363. manager.add("organizations:session-replay-recording-scrubbing", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  364. # Enable core Session Replay SDK for recording on sentry.io
  365. manager.add("organizations:session-replay-sdk", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  366. # Enable core Session Replay SDK for recording onError events on sentry.io
  367. manager.add("organizations:session-replay-sdk-errors-only", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  368. # Enable linking from 'new issue' slack notifs to the issue replay list
  369. manager.add("organizations:session-replay-slack-new-issue", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  370. # Enable core Session Replay link in the sidebar
  371. manager.add("organizations:session-replay-ui", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  372. # Lets organizations manage grouping configs
  373. manager.add("organizations:set-grouping-config", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  374. # Enable the UI for updated terms of service
  375. manager.add("organizations:settings-legal-tos-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  376. # Enable Slack messages using Block Kit
  377. manager.add("organizations:slack-block-kit", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  378. # Enable description field in Slack metric alerts
  379. manager.add("organizations:slack-metric-alert-description", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  380. # Enable improvements to Slack notifications
  381. manager.add("organizations:slack-improvements", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  382. # Feature flags for migrating to the Slack SDK WebClient
  383. # Use new Slack SDK Client in _notify_recipient
  384. manager.add("organizations:slack-sdk-notify-recipient", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  385. # Add regression chart as image to slack message
  386. manager.add("organizations:slack-endpoint-regression-image", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  387. manager.add("organizations:slack-function-regression-image", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  388. manager.add("organizations:email-performance-regression-image", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  389. manager.add("organizations:stacktrace-processing-caching", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  390. # Show links and upsells to Insights modules
  391. manager.add("organizations:insights-entry-points", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  392. # Enable access to initial Insights modules (Queries, Requests, Vitals, App Starts, Page Loads, Resources)
  393. manager.add("organizations:insights-initial-modules", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  394. # Enable access to newer Insights modules (Caches, Queues, LLMs, Mobile UI)
  395. manager.add("organizations:insights-addon-modules", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  396. # Enable standalone span ingestion
  397. manager.add("organizations:standalone-span-ingestion", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  398. # Enable the aggregate span waterfall view
  399. manager.add("organizations:starfish-aggregate-span-waterfall", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  400. # Enable bundle analysis ui and endpoint
  401. manager.add("organizations:starfish-browser-resource-module-bundle-analysis", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  402. # Enables the resource module ui
  403. manager.add("organizations:starfish-browser-resource-module-image-view", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  404. # Enables the resource module ui
  405. manager.add("organizations:starfish-browser-resource-module-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  406. # Enable browser starfish webvitals module view
  407. manager.add("organizations:starfish-browser-webvitals", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  408. # Enable browser starfish webvitals module pageoverview v2 view
  409. manager.add("organizations:starfish-browser-webvitals-pageoverview-v2", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  410. # Enable INP in the browser starfish webvitals module
  411. manager.add("organizations:starfish-browser-webvitals-replace-fid-with-inp", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  412. # Uses a computed total count to calculate the score in the browser starfish webvitals module, instead of measurements.score.total
  413. manager.add("organizations:starfish-browser-webvitals-score-computed-total", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  414. # Update Web Vitals UI to display aggregate web vital values as avg instead of p75
  415. manager.add("organizations:performance-webvitals-avg", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  416. # Enable browser starfish webvitals module to use backend provided performance scores
  417. manager.add("organizations:starfish-browser-webvitals-use-backend-scores", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  418. # Enable mobile starfish app start module view
  419. manager.add("organizations:starfish-mobile-appstart", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  420. # Enable mobile starfish ui module view
  421. manager.add("organizations:starfish-mobile-ui-module", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  422. # Enable starfish endpoint that's used for regressing testing purposes
  423. manager.add("organizations:starfish-test-endpoint", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  424. # Enable the new experimental starfish view
  425. manager.add("organizations:starfish-view", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  426. # Enable UI for regression issues RCA using spans data
  427. manager.add("organizations:statistical-detectors-rca-spans-only", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  428. # Enable starfish dropdown on the webservice view for switching chart visualization
  429. manager.add("organizations:starfish-wsv-chart-dropdown", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  430. # Allow organizations to configure all symbol sources.
  431. manager.add("organizations:symbol-sources", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  432. # Enable team workflow notifications
  433. manager.add("organizations:team-workflow-notifications", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  434. # Enable feature to load more than 100 rows in performance trace view.
  435. manager.add("organizations:trace-view-load-more", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  436. # Enable feature to load new trace view.
  437. manager.add("organizations:trace-view-v1", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  438. # Enable feature to load new trace view in replay trace tab.
  439. manager.add("organizations:replay-trace-view-v1", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  440. # Enable feature to use span only trace endpoint.
  441. manager.add("organizations:trace-spans-format", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  442. # Extraction metrics for transactions during ingestion.
  443. manager.add("organizations:transaction-metrics-extraction", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  444. # Mark URL transactions scrubbed by regex patterns as "sanitized".
  445. # NOTE: This flag does not concern transactions rewritten by clusterer rules.
  446. # Those are always marked as "sanitized".
  447. manager.add("organizations:transaction-name-mark-scrubbed-as-sanitized", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  448. # Normalize URL transaction names during ingestion.
  449. manager.add("organizations:transaction-name-normalize", OrganizationFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  450. # Sanitize transaction names in the ingestion pipeline. # Deprecated
  451. manager.add("organizations:transaction-name-sanitization", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  452. manager.add("organizations:use-metrics-layer", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  453. # Enable User Feedback v2 ingest
  454. manager.add("organizations:user-feedback-ingest", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  455. # Use ReplayClipPreview inside the User Feedback Details panel
  456. manager.add("organizations:user-feedback-replay-clip", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  457. # Enable User Feedback spam auto filtering feature ingest
  458. manager.add("organizations:user-feedback-spam-filter-ingest", OrganizationFeature, FeatureHandlerStrategy.INTERNAL)
  459. # Enable User Feedback spam auto filtering feature actions
  460. manager.add("organizations:user-feedback-spam-filter-actions", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  461. # Enable User Feedback v2 UI
  462. manager.add("organizations:user-feedback-ui", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  463. # User Feedback Error Link Ingestion Changes
  464. manager.add("organizations:user-feedback-event-link-ingestion-changes", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  465. # Enable view hierarchies options
  466. manager.add("organizations:view-hierarchies-options-dev", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  467. # Enable minimap in the widget viewer modal in dashboards
  468. manager.add("organizations:widget-viewer-modal-minimap", OrganizationFeature, FeatureHandlerStrategy.REMOTE)
  469. # Enabled unresolved issue webhook for organization
  470. manager.add("organizations:webhooks-unresolved", OrganizationFeature, FeatureHandlerStrategy.OPTIONS)
  471. # NOTE: Don't add features down here! Add them to their specific group and sort
  472. # them alphabetically! The order features are registered is not important.
  473. # Project scoped features #
  474. ###########################
  475. # Enable AI Autofix feture on the Issue Details page.
  476. manager.add("projects:ai-autofix", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  477. # Adds additional filters and a new section to issue alert rules.
  478. manager.add("projects:alert-filters", ProjectFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  479. manager.add("projects:discard-transaction", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  480. # Enable calculating a severity score for events which create a new group
  481. manager.add("projects:first-event-severity-calculation", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  482. # Enable escalation detection for new issues
  483. manager.add("projects:first-event-severity-new-escalation", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  484. # Enable severity alerts for new issues based on severity and escalation
  485. manager.add("projects:high-priority-alerts", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  486. # Enable setting priority for issues
  487. manager.add("projects:issue-priority", ProjectFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  488. # Enable functionality for attaching minidumps to events and displaying
  489. # then in the group UI.
  490. manager.add("projects:minidump", ProjectFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  491. # Enable alternative version of group creation that is supposed to be less racy.
  492. manager.add("projects:race-free-group-creation", ProjectFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  493. # Enable similarity embeddings API call
  494. manager.add("projects:similarity-embeddings", ProjectFeature, FeatureHandlerStrategy.OPTIONS)
  495. # Enable similarity embeddings backfill
  496. manager.add("projects:similarity-embeddings-backfill", ProjectFeature, FeatureHandlerStrategy.OPTIONS)
  497. manager.add("projects:similarity-embeddings-delete-by-hash", ProjectFeature, FeatureHandlerStrategy.OPTIONS)
  498. # Enable similarity embeddings grouping
  499. manager.add("projects:similarity-embeddings-grouping", ProjectFeature, FeatureHandlerStrategy.OPTIONS)
  500. # Enable adding seer grouping metadata to new groups
  501. manager.add("projects:similarity-embeddings-metadata", ProjectFeature, FeatureHandlerStrategy.OPTIONS)
  502. manager.add("projects:similarity-indexing", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  503. manager.add("projects:similarity-view", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  504. # Starfish: extract metrics from the spans
  505. manager.add("projects:span-metrics-extraction", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  506. manager.add("projects:span-metrics-extraction-addons", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  507. manager.add("projects:extract-transaction-from-segment-span", ProjectFeature, FeatureHandlerStrategy.INTERNAL)
  508. manager.add("projects:relay-otel-endpoint", ProjectFeature, FeatureHandlerStrategy.OPTIONS)
  509. # Project plugin features
  510. manager.add("projects:plugins", ProjectPluginFeature, FeatureHandlerStrategy.INTERNAL, default=True)
  511. manager.add("projects:profiling-ingest-unsampled-profiles", ProjectFeature, FeatureHandlerStrategy.REMOTE)
  512. # fmt: on