Skip to content

Commit ebbfb8a

Browse files
authored
Merge branch 'master' into remove-hardcoded-domain
2 parents 830bbc8 + 8cbdf54 commit ebbfb8a

File tree

148 files changed

+2464
-767
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+2464
-767
lines changed

app/[[...path]]/page.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,12 @@ export const dynamic = 'force-static';
4747
const mdxComponentsWithWrapper = mdxComponents(
4848
{Include, PlatformContent},
4949
({children, frontMatter, nextPage, previousPage}) => (
50-
<DocPage frontMatter={frontMatter} nextPage={nextPage} previousPage={previousPage}>
50+
<DocPage
51+
frontMatter={frontMatter}
52+
nextPage={nextPage}
53+
previousPage={previousPage}
54+
fullWidth={frontMatter.fullWidth}
55+
>
5156
{children}
5257
</DocPage>
5358
)

develop-docs/sdk/telemetry/logs.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,8 @@ If the log was paramaterized the SDK should attach the following
299299
}
300300
```
301301

302+
If there are no `sentry.message.parameter.X` attributes included in the log, then the SDK MUST NOT attach a `sentry.message.template` attribute. This is important because it reduces duplicate content in the log and makes PII processing in Sentry much easier as only we don't have to duplicate processing between the log message and the `sentry.message.template` attribute.
303+
302304
#### SDK Integration Attributes
303305

304306
If a log is generated by an SDK integration, the SDK should also set the `sentry.origin` attribute, as per the [Trace Origin](/sdk/telemetry/traces/trace-origin/) documentation. It is assumed that logs without a `sentry.origin` attribute are manually created by the user.

docs/organization/integrations/cloud-monitoring/aws-lambda/index.mdx

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,6 @@ sidebar_order: 1
44
description: "Learn more about Sentry's AWS Lambda integration and how you can automatically instrument your Node or Python Lambda functions with Sentry without changing your code."
55
---
66

7-
<Alert>
8-
9-
This method of setting up Sentry in your Lambda functions only works if your Lambda functions are run in Node CommonJS (`require` syntax) or in Python.
10-
For all other setups, check out these docs for [Node](/platforms/javascript/guides/aws-lambda/) or [Python](/platforms/python/integrations/aws-lambda/) instead.
11-
12-
</Alert>
13-
147
Connect Sentry to your AWS account to automatically add Sentry error and performance monitoring to your Node/Python Lambda functions.
158

169
## Install
@@ -111,7 +104,7 @@ If you're using [Serverless framework](https://www.serverless.com/), note that t
111104

112105
You can confirm that the output works by inputting `aws lambda get-function-configuration --function-name <yourFunctionName>`. However, when you perform a subsequent `sls deploy` the environment variables aren't maintained even though it looks like the reference to the layer is retained.
113106

114-
You can set the layer definition and environment variables in `serverless.yml` as a workaround, but you'll have to do two things manually: maintain the latest layer version and add the reference to the SDK layer for every function you want "Sentrified".
107+
You can set the layer definition and environment variables in `serverless.yml` as a workaround, but you'll have to do two things manually: maintain the latest layer version and add the reference to the SDK layer for every function you want to add Sentry to.
115108

116109
**Serverless Framework Using Node:**
117110

@@ -123,12 +116,12 @@ provider:
123116
region: <AWS_REGION>
124117
environment:
125118
SENTRY_TRACES_SAMPLE_RATE: "1.0"
126-
SENTRY_DSN: "<SENTRY_DSN>"
127-
NODE_OPTIONS: "-r @sentry/aws-serverless/dist/awslambda-auto"
119+
SENTRY_DSN: "___PUBLIC_DSN___"
120+
NODE_OPTIONS: "--import @sentry/aws-serverless/awslambda-auto"
128121

129122
custom:
130123
layers:
131-
- arn:aws:lambda:${self:provider.region}:943013980633:layer:SentryNodeServerlessSDK:26
124+
- arn:aws:lambda:${self:provider.region}:943013980633:layer:SentryNodeServerlessSDKv10:15
132125
# - arn:aws:lambda:${self:provider.region}:943013980633:layer:SentryNodeServerlessSDK:latest
133126

134127
functions:
@@ -147,11 +140,11 @@ provider:
147140
region: <AWS_REGION>
148141
environment:
149142
SENTRY_TRACES_SAMPLE_RATE: "1.0"
150-
SENTRY_DSN: "<SENTRY_DSN>"
143+
SENTRY_DSN: "___PUBLIC_DSN___"
151144

152145
custom:
153146
layers:
154-
- arn:aws:lambda:${self:provider.region}:943013980633:layer:SentryPythonServerlessSDK:6
147+
- arn:aws:lambda:${self:provider.region}:943013980633:layer:SentryPythonServerlessSDK:167
155148
# - arn:aws:lambda:${self:provider.region:943013980633:layer:SentryPythonServerlessSDK:latest
156149

157150
functions:

docs/organization/integrations/integration-platform/webhooks.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ This header lets you know which resource from the list below triggered an action
4242
- `metric_alert`
4343
- `error`
4444
- `comment`
45+
- `seer`
4546

4647
### `Sentry-Hook-Signature`
4748

@@ -146,6 +147,8 @@ Webhooks should respond within 1 second. Otherwise, the response is considered a
146147

147148
- [Errors](/organization/integrations/integration-platform/webhooks/errors/)
148149

150+
- [Seer](/organization/integrations/integration-platform/webhooks/seer/)
151+
149152
## Developing and Testing Webhooks
150153

151154
If you’d like to test webhook configuration and look at payloads before starting development, an HTTP catch-all service that provides a designated URL where you can receive HTTP payloads and inspect the JSON event payload can come in handy. After you’ve reviewed the relevant event payloads, you can begin development.
Lines changed: 275 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,275 @@
1+
---
2+
title: Seer
3+
sidebar_order: 7
4+
description: "Learn more about Sentry's integration platform Seer webhooks for Issue Fix analysis notifications."
5+
---
6+
7+
Sentry integrations that have subscribed to Seer webhooks can receive notifications about the Seer [Issue Fix](/product/ai-in-sentry/seer/issue-fix/) process. These webhooks allow you to track the progress of automated root cause analysis, solution generation, and code fixes.
8+
9+
## Sentry-Hook-Resource Header
10+
11+
`'Sentry-Hook-Resource': 'seer'`
12+
13+
## Webhook Types
14+
15+
Seer webhooks support seven different event types that track the complete lifecycle of AI-powered issue resolution:
16+
17+
### Root Cause Analysis
18+
- `seer.root_cause_started` - Triggered when root cause analysis begins
19+
- `seer.root_cause_completed` - Triggered when root cause analysis completes with results
20+
21+
### Solution Generation
22+
- `seer.solution_started` - Triggered when solution generation begins
23+
- `seer.solution_completed` - Triggered when a solution has been generated
24+
25+
### Code Generation
26+
- `seer.coding_started` - Triggered when code generation/fixing begins
27+
- `seer.coding_completed` - Triggered when code changes are ready
28+
- `seer.pr_created` - Triggered when pull request(s) are created
29+
30+
## Common Attributes
31+
32+
All Seer webhooks share these common attributes:
33+
34+
### action
35+
36+
- type: string
37+
- description: The specific Seer event that occurred (e.g., `root_cause_started`, `solution_completed`)
38+
39+
### data['run_id']
40+
41+
- type: integer
42+
- description: Unique identifier for this Seer analysis run
43+
44+
### data['group_id']
45+
46+
- type: integer
47+
- description: The Sentry issue ID being analyzed
48+
49+
## Event-Specific Payloads
50+
51+
### Root Cause Started
52+
53+
Minimal payload indicating analysis has begun:
54+
55+
```json
56+
{
57+
"action": "root_cause_started",
58+
"actor": {
59+
"id": "sentry",
60+
"name": "Sentry",
61+
"type": "application"
62+
},
63+
"data": {
64+
"run_id": 12345,
65+
"group_id": 1170820242
66+
},
67+
"installation": {
68+
"uuid": "a8e5d37a-696c-4c54-adb5-b3f28d64c7de"
69+
}
70+
}
71+
```
72+
73+
### Root Cause Completed
74+
75+
Includes the identified root cause:
76+
77+
```json
78+
{
79+
"action": "root_cause_completed",
80+
"actor": {
81+
"id": "sentry",
82+
"name": "Sentry",
83+
"type": "application"
84+
},
85+
"data": {
86+
"run_id": 12345,
87+
"group_id": 1170820242,
88+
"root_cause": {
89+
"description": "Woah wow there's a bug here.",
90+
"steps": [
91+
{
92+
"title": "User navigates to the dashboard page, initiating page load.",
93+
"code_snippet_and_analysis": "The user's browser sends a GET request to `/dashboard`. This is the entry point for the issue.",
94+
"timeline_item_type": "human_action",
95+
"relevant_code_file": {
96+
"file_path": "N/A",
97+
"repo_name": "N/A"
98+
},
99+
"is_most_important_event": false
100+
},
101+
{
102+
"title": "Next.js server renders the /dashboard route.",
103+
"code_snippet_and_analysis": "The Next.js server processes the request and hits the bug",
104+
"timeline_item_type": "internal_code",
105+
"relevant_code_file": {
106+
"file_path": "src/app/page.ts",
107+
"repo_name": "owner/repo"
108+
},
109+
"is_most_important_event": true
110+
}
111+
]
112+
}
113+
},
114+
"installation": {
115+
"uuid": "a8e5d37a-696c-4c54-adb5-b3f28d64c7de"
116+
}
117+
}
118+
```
119+
120+
### Solution Started
121+
122+
Minimal payload indicating solution generation has begun:
123+
124+
```json
125+
{
126+
"action": "solution_started",
127+
"actor": {
128+
"id": "sentry",
129+
"name": "Sentry",
130+
"type": "application"
131+
},
132+
"data": {
133+
"run_id": 12345,
134+
"group_id": 1170820242
135+
},
136+
"installation": {
137+
"uuid": "a8e5d37a-696c-4c54-adb5-b3f28d64c7de"
138+
}
139+
}
140+
```
141+
142+
### Solution Completed
143+
144+
Includes the generated solution details:
145+
146+
```json
147+
{
148+
"action": "solution_completed",
149+
"actor": {
150+
"id": "sentry",
151+
"name": "Sentry",
152+
"type": "application"
153+
},
154+
"data": {
155+
"run_id": 12345,
156+
"group_id": 1170820242,
157+
"solution": {
158+
"description": "Definitely need to fix this.",
159+
"steps": [
160+
{
161+
"title": "Go fix it",
162+
},
163+
{
164+
"title": "Then go fix this other thing.",
165+
},
166+
],
167+
168+
}
169+
},
170+
"installation": {
171+
"uuid": "a8e5d37a-696c-4c54-adb5-b3f28d64c7de"
172+
}
173+
}
174+
```
175+
176+
### Coding Started
177+
178+
Minimal payload indicating code generation has begun:
179+
180+
```json
181+
{
182+
"action": "coding_started",
183+
"actor": {
184+
"id": "sentry",
185+
"name": "Sentry",
186+
"type": "application"
187+
},
188+
"data": {
189+
"run_id": 12345,
190+
"group_id": 1170820242
191+
},
192+
"installation": {
193+
"uuid": "a8e5d37a-696c-4c54-adb5-b3f28d64c7de"
194+
}
195+
}
196+
```
197+
198+
### Coding Completed
199+
200+
Includes details about the code changes made:
201+
202+
```json
203+
{
204+
"action": "coding_completed",
205+
"actor": {
206+
"id": "sentry",
207+
"name": "Sentry",
208+
"type": "application"
209+
},
210+
"data": {
211+
"run_id": 12345,
212+
"group_id": 1170820242,
213+
"changes": [
214+
{
215+
"repo_name": "my-app",
216+
"repo_external_id": "12345",
217+
"title": "fix: Initialize undefined variable",
218+
"description": "This change initializes the 'blooopy' variable before use to prevent ReferenceError",
219+
"diff": "<the diff as a string>",
220+
"branch_name": "seer/fix-this-thing",
221+
}
222+
]
223+
},
224+
"installation": {
225+
"uuid": "a8e5d37a-696c-4c54-adb5-b3f28d64c7de"
226+
}
227+
}
228+
```
229+
230+
### PR Created
231+
232+
Includes pull request details, there may be more than one pull request if there are multiple repos:
233+
234+
```json
235+
{
236+
"action": "pr_created",
237+
"actor": {
238+
"id": "sentry",
239+
"name": "Sentry",
240+
"type": "application"
241+
},
242+
"data": {
243+
"run_id": 12345,
244+
"group_id": 1170820242,
245+
"pull_requests": [
246+
{
247+
"pull_request": {
248+
"pr_number": 123,
249+
"pr_url": "https://github.com/owner/repo/pull/123",
250+
"pr_id": 456789
251+
},
252+
"repo_name": "my-app",
253+
"provider": "github"
254+
}
255+
]
256+
},
257+
"installation": {
258+
"uuid": "a8e5d37a-696c-4c54-adb5-b3f28d64c7de"
259+
}
260+
}
261+
```
262+
263+
## Use Cases
264+
265+
Seer webhooks enable you to:
266+
267+
1. **Track Progress**: Monitor the status of Seer Issue Fix in real-time
268+
2. **Build Notifications**: Send custom notifications when fixes are ready
269+
3. **Audit Trail**: Maintain a log of all Seer fixes for your issues
270+
4. **Custom Integrations**: Build custom tools that react to Seer's analysis results
271+
272+
## Best Practices
273+
274+
- Store the `run_id` to correlate related webhook events
275+
- Use the `group_id` to link webhooks back to the original Sentry issue

docs/platforms/android/integrations/timber/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ plugins {
3232

3333
Then, initialize the [Android SDK](/platforms/android/#configure).
3434

35-
The Android SDK automatically adds the `SentryTimberIntegration` if the `sentry-android-timber` dependency was found on the classpath. The integration is added with `minEventLevel` set to `ERROR` and `minBreadcrumbLevel` set to `INFO`.
35+
The Android SDK automatically adds the `SentryTimberIntegration` if the `sentry-android-timber` dependency was found on the classpath. The integration is added with `minEventLevel` set to `ERROR`, `minBreadcrumbLevel` and `minLogsLevel` set to `INFO`.
3636

3737
However, you can still override the default behaviour by adding your own instance of the `SentryTimberIntegration`. For that, refer to the [manual installation](/platforms/android/integrations/timber/#configure) section below.
3838

docs/platforms/android/logs/index.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ description: "Structured logs allow you to send, view and query logs sent from y
55
sidebar_order: 5755
66
---
77

8-
<Include name="feature-stage-beta-logs.mdx" />
9-
108
With Sentry Structured Logs, you can send text-based log information from your applications to Sentry. Once in Sentry, these logs can be viewed alongside relevant errors, searched by text-string, or searched using their individual attributes.
119

1210
## Requirements
@@ -28,3 +26,7 @@ With Sentry Structured Logs, you can send text-based log information from your a
2826
## Options
2927

3028
<PlatformContent includePath="logs/options" />
29+
30+
## Default Attributes
31+
32+
<PlatformContent includePath="logs/default-attributes" />

0 commit comments

Comments
 (0)