
您會在官方的文檔中找到大量對 sentry 和 getsentry 的引用。兩者都是 Django 應用程序,但 sentry 是開源的,
getsentry 是閉源的。里面有什么?
主要要強調的是,官方所有的產品功能 —
Issues、
Performance、
Dashboards
等等 — 都在 sentry (開源組件)中實現並可用。
sentry 不是將關鍵功能隱藏在付費牆后面的 “開放核心” 公司。
Sentry 盡可能地開源。
- https://docs.sentry.io/product/issues/
- https://docs.sentry.io/product/performance/
- https://docs.sentry.io/product/dashboards/
- https://docs.sentry.io/product/
- https://open.sentry.io/licensing/
那么 getsentry 中有什么?
它為官方的 SaaS, sentry.io 實現了計費和帳戶管理功能。
getsentry 是官方部署到生產環境的 Django 應用程序。它導入 sentry Django 應用程序,
添加一些路由和模型,並重新導出它。
此外,sentry 有許多 hooks,使用 Django signals 實現,getsentry 訂閱這些 signal。
例如,在 sentry 中有一個名為 event_received 的 Django signal,它在保存事件時被觸發。
如果您運行自托管,則不會訂閱此 hook。
但是在 getsentry 中,我們有一個計費計數器,它會在該 signal 觸發時運行。
getsentry 使用的 sentry 中還有一些可交換的后端,
例如 sentry.nodestore、sentry.quotas 和一個自制的功能標記系統。
與 hooks 一樣,這些模塊化后端在技術上可用於自托管實例,但它們在很大程度上沒有文檔記錄。
例如,功能標記系統有一個硬編碼的功能表 (SENTRY_FEATURES),
自托管安裝可以使用它來控制功能可用性。
getentry 注冊了一個不同的功能 flag 處理程序,它根據官方的計費方案和搶先體驗計划翻轉 flag。
- https://develop.sentry.dev/self-hosted/
- https://github.com/getsentry/sentry/blob/master/src/sentry/features/init.py
- https://develop.sentry.dev/feature-flags/
- https://sentry.io/pricing/
Sentry 工程師注意事項
如果您不是 Sentry 的員工,您將無法在 getentry 代碼庫上進行開發,並且您可以忽略本文檔中的以下注釋和其他提及。
您通常可以將
sentryCLI 替換為getsentryCLI,它們的行為將相同。在其他情況下,官方試圖指出行為上的差異。
getsentry的設置在getsentry/conf/settings/defaults.py中配置。在與環境名稱匹配的文件中可以找到其他特定於環境的覆蓋。例如,本地開發的默認設置可以在getsentry/conf/settings/dev.py中找到。您還可以使用getsentry/conf/settings/devlocal.py進行個人配置覆蓋。devlocal.py文件被git忽略,不會意外地出現在你的提交中。
