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