系列

公眾號:黑客下午茶

目錄

  • 語法

    • 使用 ORAND
    • 同一個 Key 上的多個值
    • 顯式 Tag 語法
    • 高階
      • 排除
      • 萬用字元(*)
  • 可搜尋的屬性
    • Issue 屬性
    • Event 屬性
    • 自定義 Tag
  • 已儲存搜尋
    • 推薦搜尋
    • 固定搜尋
      • 更改固定搜尋
      • 固定推薦搜尋
    • 組織範圍內儲存的搜尋
      • 建立組織範圍的已儲存搜尋
      • 刪除組織範圍內已儲存的搜尋

語法

搜尋查詢是使用 key:value 模式構建的,最後是可選的原始搜尋。 每個 key:value 都是一個 token,可選的原始搜尋本身就是一個 tokenkey:valuetokens 被視為 issueevent 屬性。 可選的原始搜尋被視為單個 token 並搜尋事件標題/訊息(title/message)

例如:

is:resolved user.username:"Jane Doe" server:web-8 example error

在上面的例子中,有三個 keyis:, user.username:, server:),但是有四個 token

  • is:resolved
  • user.username:"Jane Doe"
  • server:web-8
  • example error

Token is:resolveduser.username:"Jane Doe" 是標準搜尋 token,因為兩者都使用保留關鍵字。 有關適當的關鍵字用法,請參閱 Issue 屬性和 Event 屬性。token server:web-8 指向 Sentry SDK 傳送的自定義 tag

token 示例錯誤使用可選的原始搜尋並作為 issue 搜尋查詢的一部分傳遞(使用類似於 SQLCONTAINS 匹配)。 使用可選的原始搜尋時,您可以提供一個字串,查詢將使用整個字串。

使用 ORAND

ORAND 搜尋條件僅適用於 DiscoverPerformanceMetric Alerts

Token 之間使用 ORAND,並使用括號 () 對條件進行分組。AND 也可用於非聚合(non-aggregate)和聚合(aggregate)之間。但是,OR 不能。

  • 非聚合基於特定標籤或屬性過濾資料。例如,user.username:jane 是一個非聚合欄位。
  • 在數字尺度(numerical scales)上聚合過濾資料。例如,count() 是一個聚合函式,而 count():>100 是一個聚合過濾器。

使用 OR 條件的一些示例:

# 一個有效的 `OR` 查詢
browser:Chrome OR browser:Opera # 一個無效的 `OR` 查詢
user.username:janedoe OR count():>100

此外,查詢優先於 OR 之前的 AND。例如,“x AND y OR z” 與 “(x AND y) OR z” 相同。 括號可用於更改分組。例如,“x AND (y OR z)”。

同一個 Key 上的多個值

您可以通過將值放在列表中來搜尋同一 key 的多個值。例如,“x:[value1, value2]” 將找到與 “x:value1 OR x:value2” 相同的結果。執行此操作時,搜尋將返回與任何搜尋詞匹配的問題/事件(issue/event)

使用值列表搜尋相同 key 的示例:

release:[12.0, 13.0]

目前,您不能對關鍵字 is 使用這種型別的搜尋。

顯式 Tag 語法

我們建議您永遠不要使用保留關鍵字(例如 project_id)作為 tag。但如果這樣做,則必須使用以下語法進行搜尋:

tags[project_id]:tag_value

高階

排除

預設情況下,搜尋詞使用 AND 運算子;也就是說,它們返回與所有搜尋詞匹配的問題/事件(issues/events)的交集。

要改變這一點,您可以使用否定運算子 ! 排除搜尋引數。

is:unresolved !user.email:[email protected]

在上面的示例中,搜尋查詢返回所有未解決且未影響電子郵件地址為 [email protected] 的使用者的 Issues

萬用字元(*)

搜尋支援萬用字元 * 作為特定字元和字串的佔位符。

browser:"Safari 11*"

在上面的示例中,搜尋查詢將匹配 browser 值,例如 “Safari 11.0.2”“Safari 11.0.3” 等。

你也可以像這樣組合運算子:

!message:"*Timeout"

在上面的示例中,搜尋查詢返回的結果沒有的 message 值,如 ConnectionTimeoutReadTimeout 等。

可搜尋的屬性

Sentry 的搜尋為您提供了保留關鍵字,例如 isuserserverbrowser,您可以使用它們來搜尋 issueevent 的屬性。您還可以建立要搜尋的自定義標籤。以下是所有可用問題和事件搜尋詞的規範列表。

Issue 屬性

Issue 是一個或多個事件的集合。可搜尋的屬性包括工作流狀態(workflow status)、分配(assignment)、聚合計數(aggregate counts)和年齡(age)。

以下是 Sentry 保留和已知的 issue 級的 keytoken 列表:

Key/Token 描述
age 限制結果自 age 以來產生的 issue。語法類似於 Unix find 命令。支援字尾: m -> minutes, h -> hours, d -> days, w -> weeks
age:-24h 返回過去 24 小時內的新 issue
age:+12h 返回超過 12 小時的 issue
age:+12h age:-24h 返回超過 1224 小時之前建立的 issue
assigned 篩選 issue 分配給的使用者。值可以是 user ID(您的 email 地址)、me 代表您自己、me_or_none 代表您自己或沒有受理人,或者 #team-name
assigned_or_suggested 過濾 assignedsuggested 分配問題的使用者或團隊。 建議的受理人由匹配的所有權規則(ownership rules)可疑提交(suspect commits)確定。值可以是 user ID(您的 email 地址)、me 代表您自己、me_or_none 代表您自己或沒有受理人/建議,或者 #team-name
bookmarks 過濾為 issue 新增書籤的使用者。值可以是 user ID(您的 email 地址) 或 me 代表您自己。
first-release 將結果限制為在給定版本中首次出現的 issue。與釋出版本完全匹配,或 first-release:latest 選擇最新版本。
has 將結果限制為具有任何 tag 值的 issue
has:user 將結果限制為具有標記 user 值的 issue
is 篩選 issue 的各種屬性。
is:unresolved
is:resolved
is:ignored
根據 issue 的狀態進行篩選。
is:assigned
is:unassigned
根據是否已分配 issue 返回 issue
is:linked
is:unlinked
根據 issue 是否連結(到外部 issue 跟蹤器)返回 issue
lastSeen 將結果限制為自(since)或直到(until)給定時間點最後出現的問題。 用法類似於 age token(見上文)。
lastSeen:+30d 返回 issue 最近一次出現在 30 天前或更久之前。
lastSeen:-2d 返回最近兩天內出現的 issue
timesSeen 將結果限制在精確地、至少或最多某些次數的 issue 上。
完全匹配:timesSeen:10
上限或下限 tokentimesSeen:>10, timesSeen:>=10, timesSeen:<10, timesSeen:<=10

Event 屬性

Events 是使用 Sentry SDK 捕獲的底層事件資料(read: errorstransactions)。

“Issues” 頁面中搜索事件屬性時,搜尋將返回具有與提供的事件過濾器匹配的一個或多個事件的任何 issue

以下是 Sentry 保留和已知的事件級(event-level) keytoken 列表:

Key/Token 描述
location 將結果限制為具有匹配 location 的事件。
message 將結果限制為具有匹配 message 的事件。
environment 將結果限制為用匹配 environment 標記的事件。
release 將結果限制為帶有匹配版本標記的事件。 您可以建立一個與釋出版本完全匹配的 token,或者 release:latest 選擇最新的版本。
release.package
release.version
release.build
將結果限制為用匹配語義版本標記的事件。支援範圍和萬用字元(*)。
release.stage 將結果限制為帶有匹配發布階段標記的 release
transaction 將結果限制為標有 URL template/job 名稱的事件。
geo.country_code
geo.region geo.city
將結果限制為由地理區域觸發的事件。
http.method
http.referer
http.url
根據 HTTP 請求上下文限制結果。
user.id user.email
user.username
user.ip
將結果限制為影響給定使用者的事件。
event.timestamp 將結果限制為發生在給定時間戳的事件。 該過濾器可以通過兩次以提供一個範圍。
2016 年 1 月 2 日發生的事件:event.timestamp:2016-01-02
01:0002:00 (UTC) 之間的事件:event.timestamp:>=2016-01-02T01:00:00 event.timestamp:<2016-01-02T02:00:00
可以使用以下比較運算子:大於(>)、大於或等於(>=)、小於(<)、小於或等於(<=)
device.arch
device.battery_level
device.brand
device.charging
device.locale
device.model_id
device.name
device.online
device.orientation
device.simulator
device.uuid
將結果限制為用特定裝置屬性標記的事件。
os.build
os.kernel_version
將結果限制為用特定作業系統屬性標記的事件。
stack.abs_path
stack.filename
stack.function
stack.module
stack.package
stack.stack_level
stack.lineno
將結果限制為具有匹配堆疊屬性的事件。
對於 Native SDK 使用者,stack.packagestack.moduleNative 等價項。
error.type
error.value
error.mechanism
error.handled
將結果限制為具有匹配錯誤屬性的事件。

自定義 Tag

此外,您可以使用您指定為 token 的任何 tag。標籤是分配給事件的各種 key/value 對,您可以稍後將它們用作細分或快速訪問以查詢相關事件。

大多數 SDK 通常支援通過配置 scope 來配置 tag

標籤的幾種常見用途包括:

  • 伺服器的 hostname
  • 您的平臺版本(例如,iOS 5.0
  • 使用者的 language

已儲存搜尋

Issues“Saved Searches” 選項卡中,您可以訪問推薦的搜尋、固定您認為最有用的搜尋並利用組織範圍內的已儲存搜尋。

推薦搜尋

推薦搜尋是我們認為您可能會使用的常見搜尋詞。這些預先進行的搜尋列在“已儲存搜尋(Saved Searches)”下拉列表中的“推薦搜尋(Recommended Searches)”下,並按您最近使用它們的時間順序列出。

固定搜尋

您可以固定搜尋,它將成為您在 Issues 頁面上看到的預設檢視。固定搜尋僅對您可見,並且與您的專案相關。

  1. 在搜尋欄中鍵入搜尋詞。

  2. 單擊該搜尋旁邊的圖釘圖示。

  3. 固定後,Sentry 會將搜尋新增到 “Saved Searches” 下拉列表中。文字中的搜尋標籤將顯示為“我的固定搜尋(My Pinned Search)”

更改固定搜尋

要更改您的固定搜尋:

  1. 選擇您的固定搜尋。取消單擊圖釘圖示。您的預設搜尋將返回到 is:unresolved
  2. 執行另一個搜尋。單擊圖釘圖示。列為“我的固定搜尋(My Pinned Search)”的查詢現在將成為新的固定查詢,取代原來的查詢。

固定推薦搜尋

您可以像固定任何其他搜尋一樣固定推薦的搜尋。當您選擇了推薦的搜尋,並且推薦的搜尋查詢會填充搜尋欄時,請將其固定。

組織範圍內儲存的搜尋

建立組織範圍的已儲存搜尋

Ownermanager 可以通過建立自定義儲存搜尋為其組織建立持久檢視。這些儲存的搜尋不與特定專案相關聯,而是與整個組織的所有專案(和使用者)相關聯。

  1. 在搜尋欄中鍵入搜尋,單擊操作選單(三個點)。選擇“建立儲存的搜尋(Create Saved Search)”

  1. 在開啟的 modal 中,為搜尋命名並設定 issues 列表的排序順序。您還可以在此處更新查詢。然後點選 “Save”

  1. 然後該檢視將成為 “Saved Search” 下拉列表的一部分。

刪除組織範圍內已儲存的搜尋

此操作僅適用於組織 ownermanager

當您將滑鼠懸停在自定義儲存的搜尋(saved search)上時,搜尋名稱旁邊會顯示垃圾桶圖示。單擊垃圾桶圖示以從下拉列表中刪除自定義儲存的搜尋。

公眾號:黑客下午茶