Sentry 是一个开拓职员优先的缺点跟踪和性能监控平台,可帮助开拓职员理解真正主要的问题、更快地办理问题并不断理解他们的运用程序。

Sentry特性源代码、缺点过滤器、堆栈局部变量 — Sentry 通过堆栈跟踪增强了运用程序性能监控。
在停机之前快速识别性能问题。
查看全体端到端分布式跟踪以查看准确的、性能不佳的 API 调用并显示任何干系缺点。
面包屑通过向您显示导致缺点的事宜轨迹,使运用程序开拓变得更随意马虎一些。
无论您利用的是JavaScript、PHP还是介于两者之间的任何东西,Release 都可以让您理解哪些缺点已得到办理,哪些缺点是首次引入的。
软件开拓周期可能充满歧义。
问题所有者将掌握权交还给开拓职员,以修复他们代码中的问题。
实时运用程序监控意味其实时的数据。
利用 Sentry 的查询构建器 Discover 查询全体组织的原始事宜数据。
仪表板为我们的运用程序监控添加了视觉元素。

Sentry利用

Sentry Java SDK 可以与 Kotlin、Scala 和其他 JVM 措辞一起利用。
代码示例常日以 Java 和 Kotlin 的形式供应。

phpsentrySentry 一个毛病跟踪和机能监控平台 Python

Sentry 通过在运用程序运行时中利用 SDK 来捕获数据。

<dependency> <groupId>io.sentry</groupId> <artifactId>sentry</artifactId> <version>6.2.1</version></dependency>

如果您利用多个 Sentry 依赖项,则可以添加物料清单以避免指定每个依赖项的版本。

应在运用程序的生命周期中尽早进行配置。

import io.sentry.Sentry;Sentry.init(options -> { options.setDsn(&#34;https://examplePublicKey@o0.ingest.sentry.io/0");});

此代码段包含一个故意缺点,因此您可以在设置后立即测试统统是否正常:

import io.sentry.Sentry;try { throw new Exception("This is a test.");} catch (Exception e) { Sentry.captureException(e);}

在此页面上,我们让您利用 Sentry 的 SDK 启动并运行,以便它会自动报告您的运用程序中的缺点和非常。

Sentry 通过在运用程序运行时中利用 SDK 来捕获数据。

# Using yarnyarn add @sentry/node @sentry/tracing# Using npmnpm install --save @sentry/node @sentry/tracing

完成此操作后,Sentry 的 Node SDK 将捕获所有事务和未处理的非常。

import as Sentry from "@sentry/node";import "@sentry/tracing";Sentry.init({ dsn: "https://examplePublicKey@o0.ingest.sentry.io/0", tracesSampleRate: 1.0,});

此代码段包含一个故意缺点,因此您可以在设置后立即测试统统是否正常:

const transaction = Sentry.startTransaction({ op: "test", name: "My First Test Transaction",});setTimeout(() => { try { foo(); } catch (e) { Sentry.captureException(e); } finally { transaction.finish(); }}, 99);

要安装 Android SDK,请将其添加到您的build.gradle文件中:

// Make sure mavenCentral is there.repositories { mavenCentral()}// Enable Java 1.8 source compatibility if you haven't yet.android { compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 }}// Add Sentry's SDK as a dependency.dependencies { implementation 'io.sentry:sentry-android:6.2.1'}

配置通过AndroidManifest.xml:

<application> <meta-data android:name="io.sentry.dsn" android:value="https://examplePublicKey@o0.ingest.sentry.io/0" /></application>

此代码段包含一个故意缺点,因此您可以在设置后立即测试统统是否正常:

import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import java.lang.Exception;import io.sentry.Sentry;public class MyActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try { throw new Exception("This is a test."); } catch (Exception e) { Sentry.captureException(e); } }}验证

身份验证令牌

身份验证令牌利用 auth 标头通报,并用于通过 API 以用户或组织帐户身份进行身份验证。
在我们的文档中,我们有几个涌如今大括号或 V 形之间的占位符,例如{API_KEY}or <auth_token>,您须要将其更换为您的身份验证令牌之一才能有效地利用 API 调用。

curl -H 'Authorization: Bearer {TOKEN}' https://sentry.io/api/0/projects/

如果您的身份验证令牌是1a2b3c,那么命令该当是:

curl -H 'Authorization: Bearer 1a2b3c' https://sentry.io/api/0/projects/

DSN 身份验证

某些 API 端点可能许可基于 DSN 的身份验证。
这常日非常有限,并且端点将描述其是否受支持。
这与承载令牌身份验证类似,但利用您的 DSN(客户端密钥)。

curl -H 'Authorization: DSN {DSN}' https://sentry.io/api/0/projects/分页结果

API 中的分页是通过 Link 标头标准处理的:

curl -i https://sentry.io/api/0/projects/1/groups/

支持时,将始终为上一页和下一页返回游标,纵然这些页面上没有结果也是如此。
这许可您对 API 进行查询以获取尚未创造的结果。
一个例子是当你实现轮询行为并且你想看看是否有任何新数据时。
我们返回一个results="[true|false]"指标来确定您是否真的须要分页。

分页示例

以下是利用此 API 端点的分页示例:

https://docs.sentry.io/api/events/list-an-issues-events/

此示例中的 HTTP 要求针对该问题返回 100 个事宜,并在相应中包含以下链接标头:

<https://sentry.io/api/0/issues/123456/events/?&cursor=0:0:1>; rel="previous"; results="false"; cursor="0:0:1", <https://sentry.io/api/0/issues/123456/events/?&cursor=0:100:0>; rel="next"; results="true"; cursor="0:100:0"

链接相应中的一个 URL 具有rel=next,它指示下一个结果页面。
它也有results=true,这意味着有更多的结果。

基于此,下一个要求是GET <https://sentry.io/api/0/issues/123456/events/?&cursor=0:100:0>。

此要求将再次返回该问题的下 100 个事宜,并带有以下链接标头:

<https://sentry.io/api/0/issues/123456/events/?&cursor=0:0:1>; rel="previous"; results="true"; cursor="0:0:1", <https://sentry.io/api/0/issues/123456/events/?&cursor=0:200:0>; rel="next"; results="true"; cursor="0:200:0"

重复该过程,直到 URL 具有指示末了一页rel=next的标志。
results=false

cursor 的三个值是:游标标识符(整数,常日为 0)、行偏移量和 is_prev(1 或 0)。

图示

—END—

开源协议:View license

开源地址:https://github.com/getsentry/sentry