最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析Sentry?Relay?二次開發(fā)調(diào)試

 更新時間:2022年03月15日 09:00:11   作者:為少  
這篇文章主要介紹了Sentry?Relay?二次開發(fā)調(diào)試簡介,集成測試要求?Redis?和?Kafka?在其默認(rèn)配置中運行,獲取所有必需服務(wù)的最便捷方式是通過?sentry?devservices,這需要最新的?Sentry?開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧

開發(fā)

要構(gòu)建 Relay,我們需要最新的穩(wěn)定版 Rust。crate 被拆分為具有多個功能的工作區(qū),因此在運行構(gòu)建或運行測試時,請始終確保傳遞 --all--all-features 標(biāo)志。processing 功能還需要 C 編譯器和 CMake

要安裝開發(fā)環(huán)境,必須安裝 librdkafka 并在 path 上。 在 macOS 上,我們需要使用 brew install librdkafka 安裝它,因為安裝腳本使用 brew --prefix 來確定正確的位置。

我們使用 VSCode 進(jìn)行開發(fā)。此存儲庫包含配置代碼樣式、linter 和有用功能的設(shè)置文件。 首次打開項目時,請確保 安裝推薦擴(kuò)展,因為它們將允許編輯器在編碼期間提供幫助。

存儲庫的根目錄包含一個 Makefile,其中包含用于開發(fā)的有用命令:

  • make check: 運行代碼格式檢查和 linter。這在打開 pull request 之前很有用。
  • make test: 運行單元測試、集成測試和 Python 包測試(有關(guān)更多信息,請參見下文)。
  • make all: 運行所有檢查和測試。這會運行在 CI 中也執(zhí)行的大多數(shù)任務(wù)。
  • make clean: 刪除所有構(gòu)建工件、virtualenv 和緩存文件。

集成測試要求 RedisKafka 在其默認(rèn)配置中運行。 獲取所有必需服務(wù)的最便捷方式是通過 sentry devservices,這需要最新的 Sentry 開發(fā)環(huán)境。

sentry devservices

https://develop.sentry.dev/services/devservices

構(gòu)建和運行

重建和運行 Relay 的最簡單方法是使用 cargo。根據(jù)配置,您可能需要運行 Sentry 的本地實例。

# 第一次初始化 Relay
cargo run --all-features -- config init

# 重建并運行所有功能
cargo run --all-features -- run

標(biāo)準(zhǔn)構(gòu)建命令也可用作 make 目標(biāo)。請注意,發(fā)布版本仍會生成調(diào)試信息。

# 在調(diào)試模式下不進(jìn)行優(yōu)化構(gòu)建。
make build

# 使用發(fā)布優(yōu)化和調(diào)試信息進(jìn)行構(gòu)建。
make release

為了在進(jìn)行一些更改后快速驗證 Relay 是否編譯,您還可以使用 cargo check

cargo check --all --all-features

功能

默認(rèn)情況下,Relay 編譯時不使用 processing 模式。 這是用于作為代理運行的中繼的配置。有兩個可選功能:

  • processing: 啟用事件處理(event processing)攝取(ingestion)功能。這允許在配置中啟用 processing。啟用后,Relay 會將事件生成到 Kafka topic 中,而不是轉(zhuǎn)發(fā)到配置的上游。此外,它將執(zhí)行完整的事件規(guī)范化、過濾速率限制
  • ssl: 在服務(wù)器中啟用 SSL 支持。

要啟用功能,請將其傳遞給 cargo 調(diào)用。例如,要在啟用了 processing 功能的情況下跨所有 workspace crates 運行測試,請運行:

cargo run --features=processing

測試

測試套件包括單元測試、集成測試套件和 Python 包的單獨測試套件。單元測試是作為 Rust crates 的一部分實現(xiàn)的,可以通過以下方式運行:

# 測試默認(rèn)功能
make test-rust

# 為所有功能運行 Rust 測試
make test-rust-all

集成測試套件需要 python。默認(rèn)情況下,集成測試套件將創(chuàng)建一個 virtualenv,構(gòu)建啟用處理的 Relay 二進(jìn)制文件,并運行一組集成測試:

# 創(chuàng)建一個新的 virtualenv,構(gòu)建 Relay 并運行集成測試
make test-integration

# 手動構(gòu)建和運行單個測試
make build
.venv/bin/pytest tests/integration -k <test_name>

Linting

我們使用來自最新穩(wěn)定通道的 rustfmtclippy 進(jìn)行代碼格式化和 linting。 要確保正確設(shè)置這些工具并使用正確的配置運行,請使用以下 make 目標(biāo):

# 格式化整個代碼庫
make format

# 在整個代碼庫上運行 clippy
make lint

Python 和 C-ABI

潛在地,還需要將新功能添加到 Python 包中。這首先需要在 C ABI 中公開新功能。 為此,請參閱 Relay C-ABI readme。

  • Relay C-ABI readme

https://getsentry.github.io/relay/relay_cabi/

我們強(qiáng)烈建議在 virtual
environment 中開發(fā)和測試 python 包。更新和測試 ABI 后,確保 virtualenv 處于活動狀態(tài)并安裝構(gòu)建原生庫的包。有兩種安裝方法:

# 安裝發(fā)布版本,推薦:
pip install --editable ./py

# 安裝調(diào)試版本,安裝速度更快,但運行時慢得多:
RELAY_DEBUG=1 pip install --editable ./py

對于測試,我們使用無處不在的 pytest。 同樣,確保您的 virtualenv 處于活動狀態(tài)并且已安裝最新版本的原生庫。然后,運行:

# 創(chuàng)建一個新的 virtualenv,安裝發(fā)布版本并運行測試
make test-python

# 手動運行單個測試
.venv/bin/pytest py/tests -k <test_name>

開發(fā) Server

如果你安裝了 systemfdcargo-watchmake devserver 命令可以自動重新加載 Relay

cargo install systemfd cargo-watch
make devserver

SSL

該存儲庫包含用于開發(fā)目的的 SSL-certificate + private key。它有兩種格式:一種是 (.pem, .cert) 對,一種是 .pfx (PKCS #12) 文件。

密碼,.pfx 文件是 password。

與 Sentry 一起使用

要使用現(xiàn)有的 Sentry devserver、self-hosted Sentry 安裝或 Sentry SaaS 開發(fā) Relay,請將 .relay/config.yml 中的 upstream 配置為 Sentry serverURL。 例如,在本地開發(fā)中將 relay.upstream 設(shè)置為 http://localhost:8000/

要使用本地 development Sentry 測試 processing 模式,請使用以下配置:

relay:
  # 指向您的 Sentry devserver URL:
  upstream: http://localhost:8000/
  # 監(jiān)聽 3000 以外的端口:
  port: 3001
logging:
  # 啟用完整的日志記錄和回溯:
  level: trace
  enable_backtraces: true
limits:
  # 在 ^C 上加速 shutdown
  shutdown_timeout: 0
processing:
  # 啟用存儲規(guī)范化的 processing 模式并將數(shù)據(jù)發(fā)布到 Kafka:
  enabled: true
  kafka_config:
    - { name: "bootstrap.servers", value: "127.0.0.1:9092" }
    - { name: "message.max.bytes", value: 2097176 }
  redis: "redis://127.0.0.1"

請注意,Sentry devserver 還在 processing 模式下在端口 3000 上以類似配置啟動 Relay。 該 Relay 不會干擾您的開發(fā)構(gòu)建。為確保 SDK 發(fā)送到您的開發(fā)實例,請更新 DSN 中的端口:

http://<key>@localhost:3001/<id>

發(fā)布管理

我們使用 craft 來發(fā)布新版本。有兩個單獨的項目要發(fā)布:

  • Relay binary 從根文件夾中發(fā)布。在該目錄中運行 craft preparecraft publish 以分別創(chuàng)建發(fā)布版本并發(fā)布它。我們使用日歷版本控制并與 Sentry 協(xié)調(diào)發(fā)布。

Relay Python library 和 C-ABIpy/ 子文件夾中發(fā)布。切換到該目錄并運行 craft preparecraft publish。我們在開發(fā)周期中使用語義版本控制和發(fā)布。

  • craft

https://github.com/getsentry/craft

  • 日歷化版本

https://calver.org

  • 語義版本控制

https://semver.org

變更日志說明

對于暴露給 Python package 的更改,請在 py/CHANGELOG.md 中添加一個條目。這包括但不限于事件規(guī)范化PII 清理協(xié)議。對于 Relay server 的更改,請在 CHANGELOG.md 的以下標(biāo)題下添加一個條目:

  • Features: 用于新的用戶可見功能。
  • Bug Fixes: 用于用戶可見的錯誤修復(fù)。
  • Internal: 用于內(nèi)部操作中的功能和錯誤修復(fù),尤其是 processing 模式。

changelog 條目中,請?zhí)砑又赶虼?PR 的鏈接(考慮更具描述性的消息):

- ${getCleanTitle()}. (${PR_LINK})

如果以上都不適用,您可以通過在 PR 描述中添加 #skip-changelog 來選擇退出。

更多

Sentry Web 前端監(jiān)控 - 最佳實踐(官方教程)

Sentry 后端監(jiān)控 - 最佳實踐(官方教程)

到此這篇關(guān)于Sentry Relay 二次開發(fā)調(diào)試簡介的文章就介紹到這了,更多相關(guān)Sentry Relay 二次開發(fā)調(diào)試簡介內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何測試Python網(wǎng)站的訪問速度,并且優(yōu)化Python網(wǎng)站的性能

    如何測試Python網(wǎng)站的訪問速度,并且優(yōu)化Python網(wǎng)站的性能

    本文使用網(wǎng)絡(luò)工具和Python測速庫進(jìn)行測試Python網(wǎng)站的訪問速度,通過優(yōu)化代碼性能和優(yōu)化服務(wù)器性能以及優(yōu)化數(shù)據(jù)庫性能等有針對性地優(yōu)化Python網(wǎng)站的性能
    2024-01-01
  • python 使用pandas讀取csv文件的方法

    python 使用pandas讀取csv文件的方法

    這篇文章主要介紹了python 使用pandas讀取csv文件的方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • Python爬蟲PyQuery庫基本用法入門教程

    Python爬蟲PyQuery庫基本用法入門教程

    這篇文章主要介紹了Python爬蟲PyQuery庫基本用法,結(jié)合實例形式較為詳細(xì)的分析了pyQuery庫字符串初始化、打開網(wǎng)頁、css屬性、標(biāo)簽內(nèi)容等獲取、DOM基本操作等相關(guān)技巧與使用注意事項,需要的朋友可以參考下
    2018-08-08
  • 詳解Python中的斷點類型

    詳解Python中的斷點類型

    在?Python?中,斷點是一種在代碼中設(shè)置的標(biāo)記,用于在程序執(zhí)行過程中停止或中斷程序的執(zhí)行,本文將詳細(xì)介紹?Python?中的斷點類型,感興趣的可以了解下
    2024-02-02
  • 淺談matplotlib中FigureCanvasXAgg的用法

    淺談matplotlib中FigureCanvasXAgg的用法

    這篇文章主要介紹了淺談matplotlib中FigureCanvasXAgg的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python3實現(xiàn)從指定路徑查找文件的方法

    Python3實現(xiàn)從指定路徑查找文件的方法

    這篇文章主要介紹了Python3實現(xiàn)從指定路徑查找文件的方法,涉及Python目錄與文件的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • Python數(shù)據(jù)庫自動化完整指南

    Python數(shù)據(jù)庫自動化完整指南

    本指南詳細(xì)講解如何使用Python操作MySQL、Oracle和Microsoft?SQL?Server數(shù)據(jù)庫,涵蓋常用庫、基礎(chǔ)操作、高級功能及完整代碼示例,需要的朋友可以參考下
    2025-03-03
  • python正則表達(dá)式之re.match()與re.search()的用法及區(qū)別

    python正則表達(dá)式之re.match()與re.search()的用法及區(qū)別

    本文主要介紹了python正則表達(dá)式之re.match()與re.search()的用法及區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • pandas 空數(shù)據(jù)處理方法詳解

    pandas 空數(shù)據(jù)處理方法詳解

    這篇文章主要介紹了pandas 空數(shù)據(jù)處理方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • 以一個投票程序的實例來講解Python的Django框架使用

    以一個投票程序的實例來講解Python的Django框架使用

    這篇文章主要介紹了以一個投票程序的實例來講解Python的Django框架使用,Django是Python世界中人氣最高的MVC框架,需要的朋友可以參考下
    2016-02-02

最新評論

芦山县| 富阳市| 昌图县| 太保市| 隆尧县| 鄂伦春自治旗| 新昌县| 麻阳| 克什克腾旗| 眉山市| 普格县| 新沂市| 定州市| 兰考县| SHOW| 宜川县| 南昌市| 黄大仙区| 个旧市| 资兴市| 隆尧县| 竹山县| 阜新| 集安市| 增城市| 拉萨市| 昌邑市| 保德县| 广东省| 镇康县| 同德县| 霍林郭勒市| 镇康县| 苗栗市| 高清| 繁峙县| 昌图县| 婺源县| 新泰市| 福鼎市| 安福县|