Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Daily release/feb 15 2024 11 39 #16188

Merged
merged 14 commits into from
Feb 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@
"start:full": "NODE_OPTIONS='--max-old-space-size=5120' yarn develop",
"start": "NODE_OPTIONS='--max-old-space-size=5120' BUILD_LANG=en yarn develop",
"test": "jest -i",
"trigger-i18n-merge": "node scripts/trigger-i18n-merge.js",
"trigger-i18n-merge": "node scripts/actions/trigger-i18n-merge.js",
"update-attribute-dictionary-json": "node scripts/actions/update-attribute-dictionary-json.mjs",
"verify-install-page": "node scripts/verifyInstallPage.js",
"verify-mdx": "node scripts/verify_mdx.js",
Expand Down
1 change: 1 addition & 0 deletions src/content/docs/errors-inbox/errors-inbox.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ Supported APM agents:
* [.Net](/docs/apm/agents/net-agent/net-agent-api/seterrorgroupcallback-net-agent-api)
* [Python](/docs/apm/agents/python-agent/python-agent-api/seterrrorgroupcallback-python-agent-api)
* [Ruby](/docs/apm/agents/ruby-agent/api-guides/sending-handled-errors-new-relic/#error-fingerprinting)
* [PHP](/docs/apm/agents/php-agent/php-agent-api/newrelic_set_error_group_callback)

Even if we don't support your language, you can still set `error.group.name` as a custom attribute. This signals to us that the event belongs to a custom group, but the events captured won't have other agent attributes.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ freshnessValidatedDate: never

You can surface Kubernetes metadata and [link it to your APM agents](/docs/integrations/kubernetes-integration/metadata-injection/kubernetes-apm-metadata-injection#agent-compatibility) as [distributed traces](/docs/understand-dependencies/distributed-tracing/get-started/introduction-distributed-tracing) to explore performance issues and troubleshoot transaction errors. For more information, see [this blog post about monitoring app performance via Kubernetes](https://blog.newrelic.com/engineering/monitoring-application-performance-in-kubernetes/).

Additionally, you can quickly start monitoring Kubernetes clusters using our Auto-telemetry with Pixie. This Pixie integration into New Relic does not require a language agent. Learn more about Auto-telemetry with Pixie [here](/docs/full-stack-observability/observe-everything/get-started/get-started-auto-telemetry-pixie).

The metadata injection product uses a `MutatingAdmissionWebhook` to add the following environment variables to pods:

```
Expand Down
8 changes: 7 additions & 1 deletion src/content/docs/logs/ui-data/parsing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -391,12 +391,18 @@ Note that variable names must be explicitly set and be lowercase like `%{URI:uri
my_attribute_prefix.request.headers.X-Custom: "bar"
```

If you need to omit the `my_attribute_prefix` prefix, you can include the `"noPrefix": true` in the configuration.
If you want to omit the `my_attribute_prefix` prefix, you can include the `"noPrefix": true` in the configuration.

```
%{TIMESTAMP_ISO8601:containerTimestamp} %{GREEDYDATA:my_attribute_prefix:json({"noPrefix": true})}
```

If you want to omit the `my_attribute_prefix` prefix and only keep the `status` attribute, you can include `"noPrefix": true` and `"keepAttributes: ["status"]` in the configuration.

```
%{TIMESTAMP_ISO8601:containerTimestamp} %{GREEDYDATA:my_attribute_prefix:json({"noPrefix": true, "keepAttributes": ["status"]})}
```

You can also configure the `json` [Grok type](#grok-syntax) using `:json(_CONFIG_)`:

- `json({"dropOriginal": true})`: Drop the JSON snippet that was used in parsing. When set to `true` (default value), the parsing rule will drop the original JSON snippet. Note the JSON attributes will remain in the message field.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@ The default compression for the OTLP exporter in the OTel collector is currently

To enable `zstd` in the collector, adapt the collector exporter config:

```
```yml
exporters:
otlphttp:
...
compression: zstd

```

If you'd like to see us support other compression formats, please let us know in the [CNCF Slack channel](https://cloud-native.slack.com/archives/C024DRQ63UP). You can [sign up for CNCF's Slack account here](https://slack.cncf.io/).
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ The collector setup is part of the larger process of setting up OpenTelemetry wi
* Replace `OTLP_ENDPOINT_HERE` with the appropriate [endpoint](/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/get-started/opentelemetry-set-up-your-app/#review-settings).
* Replace `YOUR_KEY_HERE` with your <InlinePopover type="licenseKey" />.

```dockerfile
```shell
export OTEL_EXPORTER_OTLP_ENDPOINT=OTLP_ENDPOINT_HERE
export NEW_RELIC_LICENSE_KEY=YOUR_KEY_HERE

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: セッションのリプレイ
metaDescription: Play back user interactions to debug faster and improve page performance.
freshnessValidatedDate: '2024-01-25T00:00:00.000Z'
freshnessValidatedDate: '2024-02-12T00:00:00.000Z'
translationType: machine
---

import browserSessionReplayDetails from 'images/browser_screenshot-full_session-replay-details.webp'
import browserSessionReplayDetails from 'images/browser_screenshot-full_session-replay-details.gif'

import browserTextMaskingExample from 'images/browser_screenshot-full_text-masking-example.webp'

Expand All @@ -23,7 +23,7 @@ import browserErrorsInboxSessionReplay from 'images/browser_screenshot-full_erro
セッション リプレイは限定プレビュー段階にあります。 まだ誰もがアクセスできるわけではありませんが、[ここで](https://newrelic.com/platform/session-replay-early-access)プレビューへのアクセスをリクエストできます。
</Callout>

セッション リプレイを使用すると、Web アプリでのユーザー インタラクションを再生し、他のテレメトリ データをマッピングして、ユーザー ジャーニーを理解することができます。 セッション リプレイは、次のようなトラブルシューティングとエンド ユーザー エクスペリエンスの向上に使用できます
セッションリプレイを使用すると、Web アプリでのユーザー インタラクションを再生し、他のテレメトリー データをマップして、ユーザーのジャーニーを理解することができます。 セッションリプレイは、次のようなエンドユーザー体験のトラブルシューティングと改善に使用できます

* **JavaScript エラーのトラブルシューティング**: エラーが発生したときにユーザーが何をしていたかを確認して、エラーの原因をトラブルシューティングします。 たとえば、エンド ユーザーが e コマース トランザクションを完了しようとしてエラーを受け取った場合、セッション リプレイを使用して、エラーが発生する前にエンド ユーザーが実行した手順と入力したデータを確認できます。 これは、問題の根本原因を迅速に特定して修正するのに役立ちます。
* **ユーザー エクスペリエンスの向上**: ユーザーのフラストレーションを引き起こしている Web アプリの領域を発見します。 たとえば、ユーザーがナビゲーションで迷ったり、何も行わないボタンをクリックしたりしていることがわかります。
Expand All @@ -38,47 +38,35 @@ import browserErrorsInboxSessionReplay from 'images/browser_screenshot-full_erro
/>

<figcaption>
**[one.newrelic.com > All capabilities \[すべての機能\]](https://one.newrelic.com/all-capabilities)> Browser \[ブラウザ] > (アプリを選択) > Session replay \[セッションリプレイ]**: エンドユーザーのエクスペリエンスを視覚化し、そのジャーニーの問題を sessiont トレースと関連付けます
**[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities)> Browser > (アプリを選択) > Session replay**: エンドユーザーのエクスペリエンスを視覚化し、セッショントレースでのジャーニーの問題を関連付けます
</figcaption>

## セッションリプレイの仕組み [#how-it-works]

セッション リプレイは、Web ページの読み込み時にエンドユーザーの DOM (ドキュメント オブジェクト モデル) のスナップショットを取得することによって機能します。 DOM は、テキスト、画像、ボタンなど、Web ページ上のすべての要素を階層的に表現したものです。 ブラウザ エージェントはライブラリを使用して、ユーザーがページを操作する際の DOM の変更を記録します。 このデータは New Relic のデータベースに保存され、セッションの発生から最大 8 日間は再生できます。 リプレイはピクセルパーフェクトであり、エラーが発生したときにユーザーの画面がどのように見えるかを正確に確認できます。

### よくある質問 [#faq]
## セッションリプレイの影響 [#session-replay-impact]

<CollapserGroup>
<Collapser
id="user-data-collection"
title="プライバシーを維持しながらユーザーデータはどのように収集されますか?"
>
* 最小限のデータストレージ: セッションリプレイではスクリーンショットやビデオは保存されません。 ユーザーエクスペリエンスを再作成するために必要な重要な DOM 状態の変更のみが記録されます。 これにより、保存されるデータの量が大幅に減少します。
* クライアント側のプライバシーの強制: プライバシー設定はクライアント側に直接適用され、最初からユーザー データを強力に保護します。
* 堅牢なデフォルトのプライバシー設定: セッションリプレイには、顧客の機密情報の共有の可能性を制限するように設計されたデフォルトのプライバシー設定が含まれています。 これらの設定は、特定のプライバシー要件を満たすようにさらにカスタマイズできます。
</Collapser>
### ユーザーデータとセキュリティの問題 [#data-security]

<Collapser
id="performance-impact"
title="アプリのパフォーマンスにはどのような影響がありますか?"
>
* 初期影響を最小限に抑える: セッション リプレイはページ全体の読み込み後に非同期で読み込まれるため、初期のページ読み込みパフォーマンス メトリクスに干渉しません。
私たちはデータのプライバシーを重視しているため、次の要素を使用してセッションリプレイを構築しました。

* DOM 変更の追跡: ロードされると、セッション リプレイは DOM の変更を監視し、圧縮されたペイロードとしてレポートします。 これらのペイロードのサイズは、DOM ツリーの複雑さと相関します。
* **最小限のデータストレージ**: セッションリプレイはスクリーンショットやビデオを保存しません。 ユーザーエクスペリエンスを再作成するために必要な重要な DOM 状態の変更のみが記録されます。 これにより、保存されるデータの量が大幅に減少します。
* **堅牢なデフォルトのプライバシー設定**: セッションリプレイには、顧客の機密情報の共有の可能性を制限するように設計されたデフォルトのプライバシー設定が含まれています。 これらの設定は、特定のプライバシー要件を満たすようにさらにカスタマイズできます。

* パフォーマンスの最適化手法: DOM が大きい場合、ペイロード サイズも増加する可能性があります。 ただし、セッション リプレイでは、ペイロード サイズを削減するために次のようなさまざまな手法が使用されます。
### アプリのパフォーマンス [#performance-impact]

* GZIP圧縮
* 重複の削減
* 戦略的なペイロード収集: 完全な DOM がキャプチャされた場合にのみ、大きな (圧縮された) ペイロードが送信されます。これは通常、リプレイ機能が最初にインポートされるときにのみ行われます。 その後は、エンドユーザーのアクションに関連する小さなペイロードのみが送信されます。
</Collapser>
セッションリプレイは、以下によりアプリのパフォーマンスへの影響を最小限に抑えます。

<Collapser
id="data-retention-limits"
title="データ保持の制限は何ですか?"
>
リプレイの標準保存期間は 8 日間です。
</Collapser>
</CollapserGroup>
* **初期影響を最小限に抑える**: セッションリプレイはページ全体の読み込み後に非同期で読み込まれるため、初期のページ読み込みパフォーマンス メトリクスに干渉しません。

* **DOM 変更追跡**: ロードされると、セッションリプレイ モニター DOM の変更が圧縮ペイロードとして報告されます。 これらのペイロードのサイズは、DOM ツリーの複雑さと相関します。

* **パフォーマンスの最適化手法**: DOM が大きい場合、ペイロード サイズも増加する可能性があります。 ただし、セッションリプレイはペイロード サイズを削減するために次のようなさまざまな手法を使用します。

* GZIP圧縮
* 重複の削減
* 戦略的なペイロード収集: 完全な DOM がキャプチャされた場合にのみ、大きな (圧縮された) ペイロードが送信されます。これは通常、リプレイ機能が最初にインポートされるときにのみ行われます。 その後は、ユーザーのアクションに関連する小さなペイロードのみが送信されます。

## 始めましょう [#get-started]

Expand All @@ -94,7 +82,7 @@ import browserErrorsInboxSessionReplay from 'images/browser_screenshot-full_erro
</Step>

<Step>
### セッションのサンプリング レートを構成する [#configure-sampling-rates]
### サンプリングレートを構成する [#configure-sampling-rates]

次のサンプルのサンプリング レート (0% ~ 100%) を設定します。

Expand Down Expand Up @@ -122,7 +110,7 @@ import browserErrorsInboxSessionReplay from 'images/browser_screenshot-full_erro

デフォルトのプライバシー設定を変更する必要がある場合は、マスク、ブロック、または無視する特定のクラスと属性を選択できます。

**Mask** \[マスクとは]、特定のテキストがアスタリスク (\*) に置き換えられることを意味します。 たとえば、ログイン情報などの機密性の高いユーザー入力をマスクできます。
* **Mask** \[マスクとは]、特定のテキストがアスタリスク (\*) に置き換えられることを意味します。 たとえば、ログイン情報などの機密性の高いユーザー入力をマスクできます。

<CollapserGroup>
<Collapser
Expand All @@ -139,8 +127,6 @@ import browserErrorsInboxSessionReplay from 'images/browser_screenshot-full_erro
src={browserMaskSettings}
/>

* 特定のユーザー入力要素をマスクするための UI 設定のチェックボックス。

* CSS クラス`nr-mask`または属性`data-nr-mask`をウェブページの HTML に追加します。 たとえば、ユーザーが入力した電子メール アドレスをマスクする場合は、 `&lt;div&gt;`の電子メール クラス属性に`nr-mask`を追加します。

```html
Expand All @@ -153,7 +139,7 @@ import browserErrorsInboxSessionReplay from 'images/browser_screenshot-full_erro
</Collapser>
</CollapserGroup>

**Block** \[ブロックとは]、 コンテンツが空のプレースホルダーに置き換えられることを意味します。 たとえば、会社概要 Web ページでビデオを再生していて、それをキャプチャしたくない場合は、そのビデオを含むクラスをブロックできます。
* **Block** \[ブロックとは]、 コンテンツが空のプレースホルダーに置き換えられることを意味します。 たとえば、会社概要 Web ページでビデオを再生していて、それをキャプチャしたくない場合は、そのビデオを含むクラスをブロックできます。

<CollapserGroup>
<Collapser
Expand Down Expand Up @@ -187,7 +173,7 @@ import browserErrorsInboxSessionReplay from 'images/browser_screenshot-full_erro
</Collapser>
</CollapserGroup>

**Ignore** \[無視とは]、ユーザー入力が完全に無視されることを意味します。 たとえば、ユーザーの電子メール アドレスやパスワードなどの機密情報を無視したい場合は、それらのフィールドを含む要素を無視できます。
* **Ignore** \[無視とは]、ユーザー入力が完全に無視されることを意味します。 たとえば、ユーザーの電子メール アドレスやパスワードなどの機密情報を無視したい場合は、それらのフィールドを含む要素を無視できます。

<CollapserGroup>
<Collapser
Expand Down Expand Up @@ -316,7 +302,7 @@ import browserErrorsInboxSessionReplay from 'images/browser_screenshot-full_erro

舞台裏で何が起こっているかは次のとおりです。

* セッション リプレイは、Web サイトの構造と視覚要素を含むエンドユーザーの DOM を再構築することによって機能します。 これを実現するには、エージェントが CSS ファイルにアクセスしてスタイル情報を正確に取得する必要があります。 次に、これらのスタイルを再生記録に直接インライン化することで、再生中に元の CSS ファイルを参照する必要がなくなります。
* セッションリプレイは、Web サイトの構造と視覚要素を含むユーザーの DOM を再構築することによって機能します。 これを実現するには、エージェントが CSS ファイルにアクセスしてスタイル情報を正確に取得する必要があります。 次に、これらのスタイルを再生記録に直接インライン化することで、再生中に元の CSS ファイルを参照する必要がなくなります。
* CSS ファイルが別のドメインでホストされている場合、CORS によりエージェントが CSS ファイルにアクセスできない場合があります。 これにより、重要なスタイル情報が欠落している可能性があるため、リプレイが不完全または不正確になる可能性があります。

### 解決
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ AWS がサポートするネームスペースの詳細については、 [Cloud
`sum()`や`count()`などの一部の集計では、正しいディメンションの組み合わせが指定されていない場合、重複した結果が返されます。
</Callout>

両方の指標に同時に一致する`sum()`や`count()`の一部の集計を避けるには、ディメンションに`IS NULL``IS NOT NULL` 、または`and`値を使用します。例えば:
両方のメトリクスに同時に一致する`sum()`や`count()`の一部の集計を回避するには、 `IS NULL`または`IS NOT NULL`を使用してディメンションをフィルタリングします。 例えば:

両方のメトリックを同時に照合します。

Expand Down
Loading
Loading