diff --git a/src/i18n/content/jp/docs/apm/agents/java-agent/troubleshooting/jboss-and-wildfly-incomplete-telemetry.mdx b/src/i18n/content/jp/docs/apm/agents/java-agent/troubleshooting/jboss-and-wildfly-incomplete-telemetry.mdx
new file mode 100644
index 00000000000..4e79a443c11
--- /dev/null
+++ b/src/i18n/content/jp/docs/apm/agents/java-agent/troubleshooting/jboss-and-wildfly-incomplete-telemetry.mdx
@@ -0,0 +1,85 @@
+---
+title: JBoss および Wildfly からの不完全なテレメトリのトラブルシューティング
+type: troubleshooting
+tags:
+ - Agents
+ - Java agent
+ - Troubleshooting
+metaDescription: 'If you are running an app using JBoss/Wildfly, you may get incomplete or incorrect telemetry due to classloading issues with classes the agent use if you use Finest level logs. Usually this is resolved by setting a system property jboss.modules.system.pkgs with a comma seperated list of java packages causing this error.'
+translationType: machine
+---
+
+## 問題 [#problem]
+
+JBoss EAP 7.4 (またはそれ以降) または Wildfly 23 (またはそれ以降) を使用しているアプリから不完全なテレメトリーを取得しています。テレメトリが不完全になる可能性がある原因としては、次のようなものがあります。
+
+* Web リクエストは非 Web トランザクションに変換されます
+* ディスパッチャー名が間違っています
+
+`Finest` ログレベルを使用してログを設定し、 `NoClassDefFoundError` スタックトレースが見つかった場合、これは JBoss EAP および Wildfly でのクラスロードの動作方法に問題があることを示しています。
+
+エージェントウィーバーは JBoss を使用してアプリ内の特定のクラスをインストルメント化できますが、変更されたクラスは JBoss EAP/Wildfly によって認識されないパッケージやモジュールを使用する可能性があります。その結果、ClassLoader は特定のクラスを見つけることができず、 `NoClassDefFoundError`をスローします。
+
+アプリはまだ動作する可能性がありますが、エージェントから送信されたデータは不正確または不完全になります。エージェント バージョン 8.6 以降、Java エージェントは JBoss に特定のパッケージを認識させることができます。これにより、Wildfly/JBoss EAP インストルメンテーションがそのまま使用できるようになりますが、ClassLoader は依然として `NoClassDefFoundError`を返す可能性があります。
+
+## 解決 [#solution]
+
+エージェントのログ レベルを `Finest`に設定する場合は、エージェント ログ ファイルに `NoClassDefFoundError` を含むスタック トレースがないか確認してください。
+
+この例は 8.6 でパッチされましたが、 `java.util.logging` パッケージに表示されるこのエラーの例を次に示します。
+
+```
+2022-02-01T11:59:16,167-0800 [97709 221] com.newrelic.agent.instrumentation.ClassTransformerServiceImpl FINEST: An error was thrown from instrumentation library com.newrelic.instrumentation.servlet-2.4
+java.lang.NoClassDefFoundError: java/util/logging/Level
+ at com.nr.instrumentation.servlet24.ServletHelper.setTxNameUsingServletName(ServletHelper.java:187) ~[?:?]
+ at com.nr.instrumentation.servlet24.ServletHelper.setTransactionName(ServletHelper.java:96) ~[?:?]
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java) ~[?:?]
+ at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) ~[?:?]
+ at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) ~[?:?]
+ at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[?:?]
+ at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[?:?]
+ at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) ~[?:?]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[?:?]
+ at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) ~[?:?]
+ at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) ~[?:?]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) ~[?:?]
+ at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) ~[?:?]
+ at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) ~[?:?]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68) ~[?:?]
+ at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) ~[?:?]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105) ~[?:?]
+ at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?]
+ at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?]
+ at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?]
+ at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?]
+ at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249) [undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78) [undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99) [undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387) [undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841) [undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001]
+ at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001]
+ at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001]
+ at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001]
+ at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280) [xnio-api-3.8.4.Final-redhat-00001.jar!/:3.8.4.Final-redhat-00001]
+ at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312]
+```
+
+* クラス `java.util.logging.Level` がエラーの原因となるため、 `jboss.modules.system.pkgs`というシステム プロパティを設定する必要があります。これにより、JBoss は `java.util.logging` パッケージ内のすべてのクラスを認識できるようになります。
+* これを解決するには、JBoss に認識させたい Java パッケージのカンマ区切りリストを追加してシステムプロパティを設定します。例: `Djboss.modules.system.pkgs=java.util.logging,javax.management` 。
+* このソリューションを実装した後は、 [サポート](https://support.newrelic.com/s/)に連絡することをお勧めします。エージェント ログで `NoClassDefFoundError` が見つかった場合は、エージェントがそのクラスを使用していることを意味します。サポート チームに通知すると、JBoss がより多くのパッケージを認識できるようにする潜在的なパッチへの扉が開かれます。
\ No newline at end of file
diff --git a/src/i18n/content/jp/docs/apm/agents/php-agent/other-integrations/magento-business-insights.mdx b/src/i18n/content/jp/docs/apm/agents/php-agent/other-integrations/magento-business-insights.mdx
index 500e405505d..84590bcf099 100644
--- a/src/i18n/content/jp/docs/apm/agents/php-agent/other-integrations/magento-business-insights.mdx
+++ b/src/i18n/content/jp/docs/apm/agents/php-agent/other-integrations/magento-business-insights.mdx
@@ -31,8 +31,8 @@ New Relic で Magento アプリの監視を開始するには、次の手順に
エージェントをインストールするには、次のいずれかのインストール方法を選択します。
- * [ガイド付きインストール](https://one.newrelic.com/launcher/nr1-core.explorer?pane=eyJuZXJkbGV0SWQiOiJucjEtY29yZS5saXN0aW5nIn0=&cards%5B0%5D=eyJuZXJkbGV0SWQiOiJucjEtaW5zdGFsbC1uZXdyZWxpYy5ucjEtaW5zdGFsbC1uZXdyZWxpYyIsImFjdGl2ZUNvbXBvbmVudCI6IlZUU09FbnZpcm9ubWVudCIsInBhdGgiOiJndWlkZWQifQ==) の手順に従って、すばやく簡単にインストール プロセスを実行してください。
- * より高度なインストール プロセスのために[エージェントを手動でインストールする](/docs/infrastructure/install-infrastructure-agent/get-started/install-infrastructure-agent/)
+ * [ガイド付きインストール](https://one.newrelic.com/launcher/nr1-core.explorer?pane=eyJuZXJkbGV0SWQiOiJucjEtY29yZS5saXN0aW5nIn0=&cards%5B0%5D=eyJuZXJkbGV0SWQiOiJucjEtaW5zdGFsbC1uZXdyZWxpYy5ucjEtaW5zdGFsbC1uZXdyZWxpYyIsImFjdGl2ZUNvbXBvbmVudCI6IlZUU09FbnZpcm9ubWVudCIsInBhdGgiOiJndWlkZWQifQ==) の手順に従って、迅速かつ簡単なインストール プロセスを実行してください。
+ * より高度なインストール プロセスを行うには[、エージェントを手動でインストールします](/docs/infrastructure/install-infrastructure-agent/get-started/install-infrastructure-agent/) 。
@@ -42,8 +42,8 @@ New Relic で Magento アプリの監視を開始するには、次の手順に
エージェントをインストールするには、次のいずれかのインストール方法を選択します。
- * [ガイド付きインストール](https://one.newrelic.com/launcher/nr1-core.settings?pane=eyJuZXJkbGV0SWQiOiJ0dWNzb24ucGxnLWluc3RydW1lbnQtZXZlcnl0aGluZyJ9&cards%5B0%5D=eyJuZXJkbGV0SWQiOiJzZXR1cC1uZXJkbGV0cy5zZXR1cC1waHAtaW50ZWdyYXRpb24iLCJhY2NvdW50SWQiOjI2NDA0MDl9&platform%5BaccountId%5D=1) の手順に従って、すばやく簡単にインストール プロセスを実行してください。
- * より高度なインストール プロセスのために[エージェントを手動でインストールする](/docs/apm/agents/php-agent/installation/php-agent-installation-overview/)
+ * [ガイド付きインストール](https://one.newrelic.com/launcher/nr1-core.settings?pane=eyJuZXJkbGV0SWQiOiJ0dWNzb24ucGxnLWluc3RydW1lbnQtZXZlcnl0aGluZyJ9&cards%5B0%5D=eyJuZXJkbGV0SWQiOiJzZXR1cC1uZXJkbGV0cy5zZXR1cC1waHAtaW50ZWdyYXRpb24iLCJhY2NvdW50SWQiOjI2NDA0MDl9&platform%5BaccountId%5D=1) の手順に従って、迅速かつ簡単なインストール プロセスを実行してください。
+ * より高度なインストール プロセスを行うには[、エージェントを手動でインストールします](/docs/apm/agents/php-agent/installation/php-agent-installation-overview/) 。
@@ -113,99 +113,99 @@ New Relic で Magento アプリの監視を開始するには、次の手順に
integrations:
- name: nri-flex
# interval: 30s
- config:
- name: MySQLDbFlex
- apis:
- - database: mysql
- # connection string for an rds mysql instance. Be sure to use the writer endpoint here. /sys is the default database. newrelic:Password is the user:pass.
- db_conn: newrelic:Root!123@tcp(localhost:3306)/magento2
- logging:
- open: true
- # custom_attributes: # applies to all queries
- # host: CustomMagentoMySQL # custom host name atribute
- db_async: true # process queries async
- db_queries:
- - name: MySQLShowVars
- run: SHOW VARIABLES;
- custom_attributes: # can apply additional at a nested level
- attype: show-vars
- host: CustomMagentoMySQL
- - name: MySQLShowStatus
- run: SHOW STATUS LIKE 'Max%conn%';
- custom_attributes: # can apply additional at a nested level
- attype: used-conns
- host: CustomMagentoMySQL
- - name: MySQLCustomProcessList
- run: SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST # grab all processes from MySQL
- custom_attributes: # can apply additional at a nested level
- attype: info-schema-query
- host: CustomMagentoMySQL
- - name: MYSQLSalesOrderDetails
- run: SELECT grand_total, shipping_amount, subtotal, total_paid, discount_amount, store_currency_code, created_at, updated_at, customer_is_guest, tax_amount, customer_id, status, entity_id AS 'order_id' FROM sales_order;
- - name: MySQLSalesOrderCumulative
- run: SELECT AVG(grand_total) AS 'average_grand_total', SUM(grand_total) AS 'grand_total_sum', SUM(total_item_count) AS 'total_order_item_count' FROM sales_order;
- custom_attributes: # can apply additional at a nested level
- attype: blocking-query
- host: CustomMagentoMySQL
- - name: MySQLSalesOrderByStatus
- run: SELECT status AS 'order_status', COUNT(increment_id) AS 'total_orders', (SUM(grand_total)) AS 'total_billed_amount_by_status' FROM sales_order GROUP BY status;
- - name: MYSQLSalesOrderByCustomerGroup
- run: SELECT SUM(salesOrder.grand_total) AS 'grand_total_sum_of_all_orders', AVG(salesOrder.grand_total) AS 'grand_total_average_of_all_orders', customerGroup.customer_group_code AS 'customer_group_code' FROM `sales_order` salesOrder JOIN `customer_group` customerGroup ON salesOrder.customer_group_id = customerGroup.customer_group_id GROUP BY salesOrder.customer_group_id;
- - name: MYSQLSalesOrderByProduct
- run: SELECT items.order_id AS 'Order ID', items.created_at AS 'Order Created Date', orders.status AS 'Order Status', items.name AS 'productName', items.sku AS ProductSearchcode, orders.total_item_count AS 'Order Quantity', orders.grand_total AS 'Grand Total' FROM sales_order AS orders JOIN sales_order_item AS items ON items.order_id = orders.entity_id;
- - name: MYSQLSalesOrderByCategory
- run: SELECT items.name AS Category, AVG(orders.grand_total) AS 'average_order_total' FROM sales_order AS orders JOIN sales_order_item AS items ON items.order_id = orders.entity_id GROUP BY items.name;
- - name: MYSQLSalesOrderByRegion
- run: SELECT soa.country_id, soa.region_id, dcrn.name 'Region Name', so.entity_id AS 'Order ID', so.grand_total FROM sales_order_address soa JOIN directory_country_region_name dcrn JOIN sales_order so WHERE soa.region_id = dcrn.region_id AND so.entity_id = soa.parent_id;
- - name: MYSQLSalesOrderByCustomer
- run: SELECT so.customer_id, ce.email, AVG(so.grand_total) AS 'average_grand_total' FROM sales_order so JOIN customer_entity ce ON so.customer_id = ce.entity_id GROUP BY so.customer_id;
- - name: MYSQLMagentoDetails
- run: SELECT query_text, num_results FROM `search_query`;
- - name: MySQLSalesOrderPayment
- run: SELECT amount_ordered, shipping_amount, method, additional_information FROM sales_order_payment;
- custom_attributes: # can apply additional at a nested level
- attype: blocking-query
- host: CustomMagentoMySQL
- - name: MySQLSalesOrderPaymentCount
- run: SELECT count(*) as CountOfOrderByMethod, method as PaymentMethodType FROM `sales_order_payment` group by method;
- custom_attributes: # can apply additional at a nested level
- attype: blocking-query
- host: CustomMagentoMySQL
- - name: MySQLCustomerEntity
- run: SELECT email, created_at, is_active FROM customer_entity;
- - name: MYSQLAbandonedCarts
- run: SELECT customer_email, items_count AS 'Products', items_qty AS 'Quantity', subtotal, remote_ip, reserved_order_id FROM `quote` WHERE customer_email IS NOT NULL AND reserved_order_id IS NULL AND subtotal != 0.0000;
- - name: MYSQLCustomerEntityRegisteredUsers
- run: SELECT count(*) AS 'Registered Accounts' FROM `customer_entity`;
- - name: MYSQLUnregisteredCustomers
- run: SELECT customer_email FROM sales_order WHERE customer_is_guest = 1 GROUP BY customer_email;
- - name: MYSQLSalesOrderByUnregisteredCustomers2
- run: SELECT COUNT(entity_id) AS 'Total Order Ids', SUM(grand_total) AS 'Grand Total Sum' FROM sales_order WHERE customer_is_guest = 1;
- - name: MYSQLCustomerEntityActiveUsers
- run: SELECT count(is_active) AS 'Active Users' FROM `customer_entity` WHERE is_active = 1;
- - name: MYSQLReturningCustomers
- run: WITH ctel1 AS (SELECT COUNT(entity_id) AS 'numberOfOrders', customer_email AS 'customerEmail' FROM sales_order GROUP BY customer_email) SELECT count(*) AS 'returningCustomers' FROM ctel1 WHERE numberOfOrders > 1;
- - name: MYSQLNewCustomers
- run: SELECT COUNT(DISTINCT email) AS 'newCustomers' FROM customer_entity WHERE MONTH(created_at) >= MONTH(CURRENT_DATE() - INTERVAL 1 MONTH);
- - name: MYSQLLoginsPerDay
- run: SELECT DATE(last_visit_at) as 'Date', count(*) as 'Total Logins', count(DISTINCT customer_id) AS 'Number of Customers' FROM `customer_visitor` GROUP BY customer_id, DATE(last_visit_at);
- - name: MYSQLBestSellersDaily
- run: SELECT SUM(qty_ordered) as 'QuantityOrdered', product_name FROM sales_bestsellers_aggregated_daily GROUP BY product_id, product_name ORDER BY QuantityOrdered DESC;
- - name: MYSQLRevenuePerMonthAndYear
- run: SELECT SUM(grand_total) AS 'TotalRevenue', AVG(grand_total) AS 'AverageRevenue', YEAR(created_at) AS 'Year', MONTH(created_at) AS 'Month' FROM sales_order WHERE status = 'complete' GROUP BY YEAR(created_at), MONTH(created_at);
- - name: MYSQLMostViewedProductsDaily
- run: SELECT SUM(views_num) as 'viewCount', product_name FROM report_viewed_product_aggregated_daily GROUP BY product_name ORDER BY viewCount DESC;
- - name: MYSQLConversionRate
- run: WITH cte1 AS (SELECT soi.product_id AS 'SalesProductId', soi.name AS 'ProductName', COUNT(soi.order_id) AS 'totalOrders' FROM `sales_order_item` soi group by soi.product_id, soi.name), cte2 AS (SELECT viewed.product_id AS 'productId', COUNT(viewed.product_id) AS 'totalViews' FROM `report_viewed_product_index` viewed group by viewed.product_id) SELECT SalesProductId as 'productID', ProductName, totalViews,totalOrders,totalOrders/totalViews *100 as 'conversionRateInPercent' FROM cte1 JOIN cte2 WHERE cte1.SalesProductId = cte2.ProductId;
- - name: MYSQLTopTenSalesOrdersByValue
- run: SELECT entity_id AS 'orderId', total_item_count AS 'orderQuantity', created_at AS 'createdDate', grand_total AS 'grandTotal' FROM sales_order ORDER BY grand_total DESC LIMIT 10;
- - name: MYSQLOrdersAverage
- run: SELECT AVG(order_count) AS 'AverageNumberOfOrders', Year AS 'Year' FROM (SELECT YEAR(created_at) AS 'Year', COUNT(DISTINCT order_id) AS order_count FROM sales_order_item GROUP BY MONTH(created_at), YEAR(created_at)) subquery GROUP BY Year;
- - name: MYSQLProductsTotal
- run: SELECT count(*) AS 'Total Products' FROM catalog_product_entity_varchar WHERE attribute_id = 73;
- custom_attributes: # can apply additional at a nested level
- attype: blocking-query
- host: CustomMagentoMySQL
+ config:
+ name: MySQLDbFlex
+ apis:
+ - database: mysql
+ # connection string for an rds mysql instance. Be sure to use the writer endpoint here. /sys is the default database. newrelic:Password is the user:pass.
+ db_conn: newrelic:Root!123@tcp(localhost:3306)/magento2
+ logging:
+ open: true
+ # custom_attributes: # applies to all queries
+ # host: CustomMagentoMySQL # custom host name atribute
+ db_async: true # process queries async
+ db_queries:
+ - name: MySQLShowVars
+ run: SHOW VARIABLES;
+ custom_attributes: # can apply additional at a nested level
+ attype: show-vars
+ host: CustomMagentoMySQL
+ - name: MySQLShowStatus
+ run: SHOW STATUS LIKE 'Max%conn%';
+ custom_attributes: # can apply additional at a nested level
+ attype: used-conns
+ host: CustomMagentoMySQL
+ - name: MySQLCustomProcessList
+ run: SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST # grab all processes from MySQL
+ custom_attributes: # can apply additional at a nested level
+ attype: info-schema-query
+ host: CustomMagentoMySQL
+ - name: MYSQLSalesOrderDetails
+ run: SELECT grand_total, shipping_amount, subtotal, total_paid, discount_amount, store_currency_code, created_at, updated_at, customer_is_guest, tax_amount, customer_id, status, entity_id AS 'order_id' FROM sales_order;
+ - name: MySQLSalesOrderCumulative
+ run: SELECT AVG(grand_total) AS 'average_grand_total', SUM(grand_total) AS 'grand_total_sum', SUM(total_item_count) AS 'total_order_item_count' FROM sales_order;
+ custom_attributes: # can apply additional at a nested level
+ attype: blocking-query
+ host: CustomMagentoMySQL
+ - name: MySQLSalesOrderByStatus
+ run: SELECT status AS 'order_status', COUNT(increment_id) AS 'total_orders', (SUM(grand_total)) AS 'total_billed_amount_by_status' FROM sales_order GROUP BY status;
+ - name: MYSQLSalesOrderByCustomerGroup
+ run: SELECT SUM(salesOrder.grand_total) AS 'grand_total_sum_of_all_orders', AVG(salesOrder.grand_total) AS 'grand_total_average_of_all_orders', customerGroup.customer_group_code AS 'customer_group_code' FROM `sales_order` salesOrder JOIN `customer_group` customerGroup ON salesOrder.customer_group_id = customerGroup.customer_group_id GROUP BY salesOrder.customer_group_id;
+ - name: MYSQLSalesOrderByProduct
+ run: SELECT items.order_id AS 'Order ID', items.created_at AS 'Order Created Date', orders.status AS 'Order Status', items.name AS 'productName', items.sku AS ProductSearchcode, orders.total_item_count AS 'Order Quantity', orders.grand_total AS 'Grand Total' FROM sales_order AS orders JOIN sales_order_item AS items ON items.order_id = orders.entity_id;
+ - name: MYSQLSalesOrderByCategory
+ run: SELECT items.name AS Category, AVG(orders.grand_total) AS 'average_order_total' FROM sales_order AS orders JOIN sales_order_item AS items ON items.order_id = orders.entity_id GROUP BY items.name;
+ - name: MYSQLSalesOrderByRegion
+ run: SELECT soa.country_id, soa.region_id, dcrn.name 'Region Name', so.entity_id AS 'Order ID', so.grand_total FROM sales_order_address soa JOIN directory_country_region_name dcrn JOIN sales_order so WHERE soa.region_id = dcrn.region_id AND so.entity_id = soa.parent_id;
+ - name: MYSQLSalesOrderByCustomer
+ run: SELECT so.customer_id, ce.email, AVG(so.grand_total) AS 'average_grand_total' FROM sales_order so JOIN customer_entity ce ON so.customer_id = ce.entity_id GROUP BY so.customer_id;
+ - name: MYSQLMagentoDetails
+ run: SELECT query_text, num_results FROM `search_query`;
+ - name: MySQLSalesOrderPayment
+ run: SELECT amount_ordered, shipping_amount, method, additional_information FROM sales_order_payment;
+ custom_attributes: # can apply additional at a nested level
+ attype: blocking-query
+ host: CustomMagentoMySQL
+ - name: MySQLSalesOrderPaymentCount
+ run: SELECT count(*) as CountOfOrderByMethod, method as PaymentMethodType FROM `sales_order_payment` group by method;
+ custom_attributes: # can apply additional at a nested level
+ attype: blocking-query
+ host: CustomMagentoMySQL
+ - name: MySQLCustomerEntity
+ run: SELECT email, created_at, is_active FROM customer_entity;
+ - name: MYSQLAbandonedCarts
+ run: SELECT customer_email, items_count AS 'Products', items_qty AS 'Quantity', subtotal, remote_ip, reserved_order_id FROM `quote` WHERE customer_email IS NOT NULL AND reserved_order_id IS NULL AND subtotal != 0.0000;
+ - name: MYSQLCustomerEntityRegisteredUsers
+ run: SELECT count(*) AS 'Registered Accounts' FROM `customer_entity`;
+ - name: MYSQLUnregisteredCustomers
+ run: SELECT customer_email FROM sales_order WHERE customer_is_guest = 1 GROUP BY customer_email;
+ - name: MYSQLSalesOrderByUnregisteredCustomers2
+ run: SELECT COUNT(entity_id) AS 'Total Order Ids', SUM(grand_total) AS 'Grand Total Sum' FROM sales_order WHERE customer_is_guest = 1;
+ - name: MYSQLCustomerEntityActiveUsers
+ run: SELECT count(is_active) AS 'Active Users' FROM `customer_entity` WHERE is_active = 1;
+ - name: MYSQLReturningCustomers
+ run: WITH ctel1 AS (SELECT COUNT(entity_id) AS 'numberOfOrders', customer_email AS 'customerEmail' FROM sales_order GROUP BY customer_email) SELECT count(*) AS 'returningCustomers' FROM ctel1 WHERE numberOfOrders > 1;
+ - name: MYSQLNewCustomers
+ run: SELECT COUNT(DISTINCT email) AS 'newCustomers' FROM customer_entity WHERE MONTH(created_at) >= MONTH(CURRENT_DATE() - INTERVAL 1 MONTH);
+ - name: MYSQLLoginsPerDay
+ run: SELECT DATE(last_visit_at) as 'Date', count(*) as 'Total Logins', count(DISTINCT customer_id) AS 'Number of Customers' FROM `customer_visitor` GROUP BY customer_id, DATE(last_visit_at);
+ - name: MYSQLBestSellersDaily
+ run: SELECT SUM(qty_ordered) as 'QuantityOrdered', product_name FROM sales_bestsellers_aggregated_daily GROUP BY product_id, product_name ORDER BY QuantityOrdered DESC;
+ - name: MYSQLRevenuePerMonthAndYear
+ run: SELECT SUM(grand_total) AS 'TotalRevenue', AVG(grand_total) AS 'AverageRevenue', YEAR(created_at) AS 'Year', MONTH(created_at) AS 'Month' FROM sales_order WHERE status = 'complete' GROUP BY YEAR(created_at), MONTH(created_at);
+ - name: MYSQLMostViewedProductsDaily
+ run: SELECT SUM(views_num) as 'viewCount', product_name FROM report_viewed_product_aggregated_daily GROUP BY product_name ORDER BY viewCount DESC;
+ - name: MYSQLConversionRate
+ run: WITH cte1 AS (SELECT soi.product_id AS 'SalesProductId', soi.name AS 'ProductName', COUNT(soi.order_id) AS 'totalOrders' FROM `sales_order_item` soi group by soi.product_id, soi.name), cte2 AS (SELECT viewed.product_id AS 'productId', COUNT(viewed.product_id) AS 'totalViews' FROM `report_viewed_product_index` viewed group by viewed.product_id) SELECT SalesProductId as 'productID', ProductName, totalViews,totalOrders,totalOrders/totalViews *100 as 'conversionRateInPercent' FROM cte1 JOIN cte2 WHERE cte1.SalesProductId = cte2.ProductId;
+ - name: MYSQLTopTenSalesOrdersByValue
+ run: SELECT entity_id AS 'orderId', total_item_count AS 'orderQuantity', created_at AS 'createdDate', grand_total AS 'grandTotal' FROM sales_order ORDER BY grand_total DESC LIMIT 10;
+ - name: MYSQLOrdersAverage
+ run: SELECT AVG(order_count) AS 'AverageNumberOfOrders', Year AS 'Year' FROM (SELECT YEAR(created_at) AS 'Year', COUNT(DISTINCT order_id) AS order_count FROM sales_order_item GROUP BY MONTH(created_at), YEAR(created_at)) subquery GROUP BY Year;
+ - name: MYSQLProductsTotal
+ run: SELECT count(*) AS 'Total Products' FROM catalog_product_entity_varchar WHERE attribute_id = 73;
+ custom_attributes: # can apply additional at a nested level
+ attype: blocking-query
+ host: CustomMagentoMySQL
```
diff --git a/src/i18n/content/jp/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup.mdx b/src/i18n/content/jp/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup.mdx
index 066744bc93f..c80c88457e1 100644
--- a/src/i18n/content/jp/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup.mdx
+++ b/src/i18n/content/jp/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup.mdx
@@ -4,276 +4,364 @@ metaDescription: Here are steps to enable and configure external services
translationType: machine
---
-外部サービス機能は、NewRelicAPMエージェントと[OpenTelemetry](/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/introduction-opentelemetry-new-relic)で利用できます。手順に従って外部サービスを設定した後、十分なデータが表示されない場合は、[サンプリングレート](#adjust-sampling)を調整する必要があります。
-
-## APMエージェント [#externals-and-apm]
-
-これらの手順は、主に分散トレースに基づく拡張外部サービス機能を対象としています。
-
-
- 従来の外部サービスをすでに使用しているエージェントのチェーンに新しいサービスを追加する必要がある場合は、従来のバージョンの外部サービスを引き続き使用できます。従来の外部サービスをインストールするには、以下の手順で分散トレースの代わりに[クロスアプリケーショントレース](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces)を有効にします。
-
-
-外部サービスで表示するサービスごとに、以下を実行します。
-
-1. まだ行っていない場合は、適切なNewRelicAPM[エージェント](/docs/distributed-tracing/enable-configure/quick-start)をインストールします。
-
-2. エージェントで分散トレースがオンになっていることを確認します。
-
- * 新しいエージェントをインストールした場合、標準の分散トレースはデフォルトでオンになっています。サービスがInfiniteTracingを使用する他のサービスと通信する場合は、InfiniteTracingのヘルプについてエージェントのドキュメントを参照してください。
- * 古いエージェントを使用している場合は、構成手順に従って、標準の分散トレースまたは無限トレースを有効にします。分散トレースを有効にすると、古いクロスアプリケーショントレースが上書きされます。
-
-3. エージェントに追加のセットアップ手順が必要かどうかを確認します。
-
-
-
-
-
- エージェント
- |
-
-
- 最小バージョン
- |
-
-
- セットアップ
- |
-
-
-
-
-
-
- Go
- |
-
-
- 3.6.0
- |
-
-
- [`NewRoundTripper()`](/docs/apm/agents/go-agent/instrumentation/instrument-go-segments/)の使用に関するドキュメントを参照してください。
- |
-
-
-
-
- Java
- |
-
-
- 5.13.0
- |
-
-
- [JavaエージェントAPI](/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-external-calls-messaging-datastore-web-frameworks/)を使用して外部呼び出しを計測する方法については、ドキュメントを参照してください。
- |
-
-
-
-
- .NET
- |
-
-
- 8.29.0
- |
-
-
- Azureの.NETエージェントと.NETエージェントは、外部呼び出しを自動的にインストルメントしますが、トランザクションのメソッドはインストルメントしません。トランザクションを表示するには、次の組み合わせを使用する必要があります。
-
- * [カスタムトランザクション](/docs/agents/net-agent/instrumentation/net-custom-transactions/)
- * [計装された労働者の役割](/docs/apm/agents/net-agent/azure-installation/install-net-agent-azure-cloud-services/#requirements)
- |
-
-
-
-
- Node.js
- |
-
-
- 6.9.0
- |
-
-
- [Node.jsエージェントAPI](/docs/apm/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api/#external-services)の使用に関するドキュメントを参照してください。
- |
-
-
-
-
- PHP
- |
-
-
- 9.12.0.268
- |
-
-
- [PHPエージェントAPI](/docs/apm/agents/php-agent/php-agent-api/guide-using-php-agent-api/#datastore)を使用して外部呼び出しを計測する方法についてのドキュメントを参照してください。
- |
-
-
-
-
- Python
- |
-
-
- 5.14.0.142
- |
-
-
- 追加の手順は必要ありません。外部通話は自動的に計測されます。
- |
-
-
-
-
- Ruby
- |
-
-
- 6.12.0.367
- |
-
-
- [RubyエージェントAPI](/docs/apm/agents/ruby-agent/api-guides/guide-using-ruby-agent-api/#externals)を使用して外部呼び出しを計測する方法についてのドキュメントを参照してください。
- |
-
-
-
-
-## OpenTelemetry [#otel-setup]
-
-サービスの OpenTelemetry インストルメンテーションをセットアップする手順と、他のサービスへの [呼び出しを](https://opentelemetry.io/docs/java/manual_instrumentation/#span-attributes) 完了すると、New Relic UI に外部サービスの詳細が表示されます。 外部サービス機能は、サービス間の呼び出しを、各サービスのトランザクション エンドポイント別に分類して表示します。各トランザクションの名前は、プロセスのエントリ スパン ( `span.kind = "server"` ) から派生します。
-
-APMサービスがOpenTelemetryサービス(アップストリームまたはダウンストリーム)に接続されている場合、そのOpenTelemetryサービスはそのAPMサービスのビューに表示されません。これは、APMサービスを表示するときに、この機能がAPMエージェントによってのみ報告されるメトリックを使用するためです。 OpenTelemetryサービスを表示すると、APMサービスが接続として表示されます。
-
-表示される情報の品質は、コレクターで使用しているサンプリング戦略によって異なります。サンプリングを使用してUIに表示される内容を制御する方法については、次のセクションを参照してください。
-
-
- OpenTelemetryデータの100%をTrace APIに送信する場合、組織に特定のレート制限がある場合、またはデフォルトのレート制限をトリガーするのに十分なデータを送信する場合を除き、そのデータの100%が保存されます。
-
-
-## より多くのUIデータを表示するには、サンプリングを調整します [#adjust-sampling]
-
-APMエージェントを使用していて、マップの最初のページを超えてドリルを開始したときにデータがほとんどまたはまったく表示されない場合は、より多くのデータをサンプリングするためにスパンリザーバーを調整する必要があります。これは、トランザクションレベルのデータにサンプリングされたトレースデータが入力されるためです。 OpenTelemetryの場合、最初のページとすべてのドリルダウンページの両方にサンプリングされたデータが入力されるため、必要なデータを取得するためにサンプリングを調整する必要がある場合があります。
-
-ここでは、APMエージェントのリザーバーを調整するためのさまざまなルーチンに関する情報と、OpenTelemetryのサンプリングを調整するためのヒントを示します。サンプリングの調整についてさらにサポートが必要な場合は、これらの[サポートオプション](https://docs.newrelic.com/docs/licenses/license-information/general-usage-licenses/global-technical-support-offerings/)を参照してください。
-
-### APMエージェントのサンプリング [#sampling-agents]
-
-
- これらの手順は、従来の外部サービスには適用されません。
-
-
-すべてのAPMエージェントにはスパンを格納するリザーバーがあり、これらのエージェントリザーバーのほとんどは構成可能です。このリザーバーのサイズは、エージェントが作成するすべてのスパンを送信できる可能性に影響します。詳細については、 [断片化されたトレース](/docs/distributed-tracing/ui-data/understand-use-distributed-tracing-ui/#fragmented-traces)を参照してください。
-
-この機能のデータは、あるサービスから別のサービスへの外部呼び出しが行われる隣接するクライアントおよびサーバースパンから取得されます。エージェントがスパンリザーバの制限に達すると、これらのコールを表すいくつかのスパンをドロップする可能性があります。
-
-デフォルトのエージェント設定値2000は、エージェントが1分間に収集するイベントの最大数を定義します。この数よりも多くのスパンがある場合、エージェントは統計サンプリングを収集し、外部サービスマップで使用されるデータの量を本質的に低下させます。
-
-UIに必要な種類の詳細が表示されない場合は、リザーバーのサイズを最大10,000まで増やすことができます。エージェントリザーバーを調整するには、以下を確認してください。
-
-
-
-
-
- APMエージェント
- |
-
-
- ドキュメント
- |
-
-
-
-
-
-
- Go
- |
-
-
- リザーバーは現在構成できません
- |
-
-
-
-
- Java
- |
-
-
- [Java構成](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#cfg-span-events-max-samples-stored)
- |
-
-
-
-
- .NET
- |
-
-
- [.NET構成](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#paragrp-max-samples-stored)
- |
-
-
-
-
- Node.js
- |
-
-
- [Node.js構成](/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/#span-events-max-samples-stored)
- |
-
-
-
-
- PHP
- |
-
-
- リザーバーは現在構成できません
- |
-
-
-
-
- Python
- |
-
-
- [Python 構成](/docs/apm/agents/python-agent/configuration/python-agent-configuration/#environment-variables) ( `NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED`を参照)
- |
-
-
-
-
- Ruby
- |
-
-
- [Ruby構成](/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/#span_events-max_samples_stored)
- |
-
-
-
-
-### OpenTelemetryサンプリング [#otel-sampling]
-
-
- このセクションは、サービスが OpenTelemetry Collector 経由で New Relic にデータを送信している場合にのみ適用されます。これは、データが OpenTelemetry Collector でサンプリングされていないためです。
-
-
-OpenTelemetryの場合、すべての外部サービスビューにはサンプリングされたトレースが入力されます。これは、十分な有用なデータが表示されない可能性があることを意味します。これを解決するには、コレクターのサンプリングを変更して、より多くのデータをNewRelicに入れることができます。
-
-構成に関するヒントについては、 [サンプリング](https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/opentelemetry-concepts/#sampling)を参照してください。
+外部サービス機能は、New Relic APM エージェントと [OpenTelemetry](/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/introduction-opentelemetry-new-relic)で利用できます。
+
+できるだけ早く立ち上げて実行したい場合は、APM エージェントを使用することをお勧めします。
+
+ロゴをクリックすると New Relic プラットフォームに移動し、ガイドに従ってエージェントのインストールと構成を行います。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 外部サービスの設定
+
+次の手順では、外部サービスをセットアップする手順を説明します。
+
+
+
+ ### データの送信を開始する
+
+ 外部サービスのセットアップは、APM エージェントを使用しているか OpenTelemetry を使用しているかによって異なります。お使いのシステムに合ったインストール オプションのタブを選択します。
+
+
+
+
+ APMエージェント
+
+
+
+ OpenTelemetry
+
+
+
+
+
+ 外部サービスで表示するサービスごとに、以下を実行します。
+
+ 1. まだ行っていない場合は、適切なNewRelicAPM[エージェント](/docs/distributed-tracing/enable-configure/quick-start)をインストールします。
+
+ 2. エージェントで分散トレースがオンになっていることを確認します。
+
+ * 新しいエージェントをインストールした場合、標準の分散トレースはデフォルトでオンになっています。サービスがInfiniteTracingを使用する他のサービスと通信する場合は、InfiniteTracingのヘルプについてエージェントのドキュメントを参照してください。
+ * 古いエージェントを使用している場合は、構成手順に従って、標準の分散トレースまたは無限トレースを有効にします。分散トレースを有効にすると、古いクロスアプリケーショントレースが上書きされます。
+
+ 3. エージェントに追加のセットアップ手順が必要かどうかを確認します。
+
+
+
+
+
+ エージェント
+ |
+
+
+ 最小バージョン
+ |
+
+
+ セットアップ
+ |
+
+
+
+
+
+
+ Go
+ |
+
+
+ 3.6.0
+ |
+
+
+ [`NewRoundTripper()`](/docs/apm/agents/go-agent/instrumentation/instrument-go-segments/)の使用に関するドキュメントを参照してください。
+ |
+
+
+
+
+ Java
+ |
+
+
+ 5.13.0
+ |
+
+
+ [JavaエージェントAPI](/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-external-calls-messaging-datastore-web-frameworks/)を使用して外部呼び出しを計測する方法については、ドキュメントを参照してください。
+ |
+
+
+
+
+ .NET
+ |
+
+
+ 8.29.0
+ |
+
+
+ Azureの.NETエージェントと.NETエージェントは、外部呼び出しを自動的にインストルメントしますが、トランザクションのメソッドはインストルメントしません。トランザクションを表示するには、次の組み合わせを使用する必要があります。
+
+ * [カスタムトランザクション](/docs/agents/net-agent/instrumentation/net-custom-transactions/)
+ * [計装された労働者の役割](/docs/apm/agents/net-agent/azure-installation/install-net-agent-azure-cloud-services/#requirements)
+ |
+
+
+
+
+ Node.js
+ |
+
+
+ 6.9.0
+ |
+
+
+ [Node.jsエージェントAPI](/docs/apm/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api/#external-services)の使用に関するドキュメントを参照してください。
+ |
+
+
+
+
+ PHP
+ |
+
+
+ 9.12.0.268
+ |
+
+
+ [PHPエージェントAPI](/docs/apm/agents/php-agent/php-agent-api/guide-using-php-agent-api/#datastore)を使用して外部呼び出しを計測する方法についてのドキュメントを参照してください。
+ |
+
+
+
+
+ Python
+ |
+
+
+ 5.14.0.142
+ |
+
+
+ 追加の手順は必要ありません。外部通話は自動的に計測されます。
+ |
+
+
+
+
+ Ruby
+ |
+
+
+ 6.12.0.367
+ |
+
+
+ [RubyエージェントAPI](/docs/apm/agents/ruby-agent/api-guides/guide-using-ruby-agent-api/#externals)を使用して外部呼び出しを計測する方法についてのドキュメントを参照してください。
+ |
+
+
+
+
+
+ 従来の外部サービスをすでに使用しているエージェントのチェーンに新しいサービスを追加する必要がある場合は、従来のバージョンの外部サービスを引き続き使用できます。従来の外部サービスをインストールするには、以下の手順で分散トレースの代わりに[クロスアプリケーショントレース](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces)を有効にします。
+
+
+
+
+ サービスの OpenTelemetry インストルメンテーションをセットアップする手順と、他のサービスへの [呼び出しを](https://opentelemetry.io/docs/java/manual_instrumentation/#span-attributes) 完了すると、New Relic UI に外部サービスの詳細が表示されます。 外部サービス機能は、サービス間の呼び出しを、各サービスのトランザクション エンドポイント別に分類して表示します。各トランザクションの名前は、プロセスのエントリ スパン ( `span.kind = "server"` ) から派生します。
+
+ APMサービスがOpenTelemetryサービス(アップストリームまたはダウンストリーム)に接続されている場合、そのOpenTelemetryサービスはそのAPMサービスのビューに表示されません。これは、APMサービスを表示するときに、この機能がAPMエージェントによってのみ報告されるメトリックを使用するためです。 OpenTelemetryサービスを表示すると、APMサービスが接続として表示されます。
+
+ 表示される情報の品質は、コレクターで使用しているサンプリング戦略によって異なります。サンプリングを使用してUIに表示される内容を制御する方法については、次のセクションを参照してください。
+
+
+ OpenTelemetryデータの100%をTrace APIに送信する場合、組織に特定のレート制限がある場合、またはデフォルトのレート制限をトリガーするのに十分なデータを送信する場合を除き、そのデータの100%が保存されます。
+
+
+
+
+
+
+
+ ### より多くのUIデータを表示するには、サンプリングを調整します [#adjust-sampling]
+
+ APM エージェントを使用していて、マップの最初のページを超えてドリルを開始したときにデータがほとんど、またはまったく表示されない場合は、より多くのデータをサンプリングするためにスパン リザーバーを調整する必要がある場合があります。これは、トランザクション レベルのデータがサンプリングされたトレース データによって設定されるためです。
+
+ OpenTelemetry の場合、最初のページとすべてのドリルダウン ページの両方にサンプリングされたデータが入力されるため、必要なデータを取得するにはサンプリングでいくつかの調整が必要になる場合があります。
+
+ ここでは、APM エージェントのリザーバーを調整するためのさまざまなルーチンに関する情報と、OpenTelemetry のサンプリングを調整するためのヒントを示します。
+
+
+
+
+ APMエージェントのサンプリング
+
+
+
+ OpenTelemetryサンプリング
+
+
+
+
+
+ すべてのAPMエージェントにはスパンを格納するリザーバーがあり、これらのエージェントリザーバーのほとんどは構成可能です。このリザーバーのサイズは、エージェントが作成するすべてのスパンを送信できる可能性に影響します。詳細については、 [断片化されたトレース](/docs/distributed-tracing/ui-data/understand-use-distributed-tracing-ui/#fragmented-traces)を参照してください。
+
+ この機能のデータは、あるサービスから別のサービスへの外部呼び出しが行われる隣接するクライアントおよびサーバースパンから取得されます。エージェントがスパンリザーバの制限に達すると、これらのコールを表すいくつかのスパンをドロップする可能性があります。
+
+ デフォルトのエージェント設定値2000は、エージェントが1分間に収集するイベントの最大数を定義します。この数よりも多くのスパンがある場合、エージェントは統計サンプリングを収集し、外部サービスマップで使用されるデータの量を本質的に低下させます。
+
+ UIに必要な種類の詳細が表示されない場合は、リザーバーのサイズを最大10,000まで増やすことができます。エージェントリザーバーを調整するには、以下を確認してください。
+
+
+
+
+
+ APMエージェント
+ |
+
+
+ ドキュメント
+ |
+
+
+
+
+
+
+ Go
+ |
+
+
+ リザーバーは現在構成できません
+ |
+
+
+
+
+ Java
+ |
+
+
+ [Java構成](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#cfg-span-events-max-samples-stored)
+ |
+
+
+
+
+ .NET
+ |
+
+
+ [.NET構成](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#paragrp-max-samples-stored)
+ |
+
+
+
+
+ Node.js
+ |
+
+
+ [Node.js構成](/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/#span-events-max-samples-stored)
+ |
+
+
+
+
+ PHP
+ |
+
+
+ リザーバーは現在構成できません
+ |
+
+
+
+
+ Python
+ |
+
+
+ [Python 構成](/docs/apm/agents/python-agent/configuration/python-agent-configuration/#environment-variables) ( `NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED`を参照)
+ |
+
+
+
+
+ Ruby
+ |
+
+
+ [Ruby構成](/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/#span_events-max_samples_stored)
+ |
+
+
+
+
+
+
+
+ このセクションは、サービスが OpenTelemetry Collector 経由で New Relic にデータを送信している場合にのみ適用されます。これは、データが OpenTelemetry Collector でサンプリングされていないためです。
+
+
+ OpenTelemetryの場合、すべての外部サービスビューにはサンプリングされたトレースが入力されます。これは、十分な有用なデータが表示されない可能性があることを意味します。これを解決するには、コレクターのサンプリングを変更して、より多くのデータをNewRelicに入れることができます。
+
+ 構成に関するヒントについては、 [サンプリング](https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/opentelemetry-concepts/#sampling)を参照してください。
+
+
+
+
+
## 次は何ですか? [#next]
-UIを理解する方法について質問がある場合は、[ヒント](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-ui)を参照してください。
\ No newline at end of file
+* 外部サービスを使用して [API の問題をトラブルシューティングする](/docs/tutorial-external-services/respond-external)方法を学ぶ
+* [外部サービス UI の操作](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-ui)について詳しくは、こちらをご覧ください。
+* UIを理解する方法について質問がある場合は、[ヒント](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-ui)を参照してください。
\ No newline at end of file
diff --git a/src/i18n/content/jp/docs/codestream/codestream-integrations/msteams-integration.mdx b/src/i18n/content/jp/docs/codestream/codestream-integrations/msteams-integration.mdx
index dd1a4d49e7c..d4008143a64 100644
--- a/src/i18n/content/jp/docs/codestream/codestream-integrations/msteams-integration.mdx
+++ b/src/i18n/content/jp/docs/codestream/codestream-integrations/msteams-integration.mdx
@@ -6,6 +6,8 @@ translationType: machine
import codestreamMsteamsCodestreamAppPage from 'images/codestream_screenshot-crop_msteams-codestream-app-page.webp'
+import codestreamMsteamsConnect from 'images/codestream_screenshot-connect-msteams.webp'
+
import codestreamMsteamsCodestreamBotWelcome from 'images/codestream_screenshot-crop_msteams-welcome.webp'
import codestreamMsteamsTokenExample from 'images/codestream_screenshot-crop_msteams-token-example.webp'
@@ -18,49 +20,70 @@ import codestreamMsteamsCodestreamSelectChannel from 'images/codestream_screensh
import codestreamMsteamsExampleCodestreamMessage from 'images/codestream_screenshot-crop_msteams-example-codestream-message.webp'
-New Relic CodeStream を Microsoft Teams チャンネルに接続します。
+New Relic CodeStream を Microsoft Teams 組織に接続します。
-コードマークを投稿すると、チームメイトにはアクティビティフィードで通知され、メールでも通知されます。しかし、時には、Microsoft Teamsにも共有したいことがあるかもしれません。そうすれば、まだCodeStreamに参加していない人や、IDEにあまり時間をかけていない人にも情報を届けることができるでしょう。
+コメントを投稿したり問題を提起すると、チームメイトはアクティビティ フィードを介して、場合によっては電子メールで通知を受け取ります。ただし、場合によっては、Microsoft Teams にも共有したい場合があります。これにより、CodeStream にまだ参加していない人や、IDE にあまり時間を費やしていない人にリーチできるようになります。
## Microsoft Teamsへの接続 [#connect]
-1. [ここをクリックしてCodeStreamアプリをインストールする](https://teams.microsoft.com/l/app/7cf49ab7-8b65-4407-b494-f02b525eef2b?source=store-copy-link) または、Microsoft Teamsのサイドバーにあるアプリに行き、CodeStreamを検索します。
-
-2. インストールが完了すると、CodeStream アプリの次のポップアップが表示されます。 **Add**\[追加] ボタンをクリックします。チームまたはチャットに追加するオプションを展開して選択しないでください。\[追加] をクリックするだけです。
-
-
-
-3. これにより、CodeStream ボットとのプライベート チャットに移動し、Teams サイドバーに CodeStream のロゴが表示されます。ボットのウェルカム メッセージの **Sign in**\[サインイン] ボタンをクリックするか、このチャットに `signin` と入力して送信します。
-
-
-
-4. Web に移動し、CodeStream にサインインするよう求められます。
+1. CodeStream のユーザー名メニューの下にある **Integrations** \[統合] ページに移動し、 **Microsoft Teams** ボタンをクリックします。
+2. 表示されたサインイン コードをコピーし、 **Connect to Teams** \[チームに接続] ボタンをクリックします。
-5. サインインすると、トークンが渡されます。このトークンをコピーして、MS Teamsに戻ってCodeStreamボットとのチャットに貼り付ける必要があります。
+
-6. トークンをチャットに貼り付けて送信します。
+3. Teams に移動すると、CodeStream アプリの次のポップアップが表示されます。**Add** \[追加] ボタンをクリックします。展開してチームまたはチャットに追加するオプションを選択しないでください。「追加」をクリックするだけです。
-
+
-7. 共有したいチャンネルに移動し、 `@`と入力して、ポップアップで **Get bots** を選択します。
+4. これにより、CodeStream ボットとのプライベート チャットが表示され、Teams のサイドバーに CodeStream ロゴが表示されます。ボットのウェルカム メッセージの **Sign In** \[サインイン] ボタンをクリックするか、このチャットに `signin` と入力して送信します。
-
+
-8. リストからCodeStreamボットを選択し(必要であれば検索してもよい)、 **Add** をクリックします。
+5. サインイン トークンをポップアップに貼り付けて、 **Sign-in** \[サインイン] ボタンをクリックします。
-9. チャンネルに戻り、 `connect` コマンドで CodeStream ボットを @メンションします。共有したいチャンネルでこれを繰り返します。
+
-
+6. 共有したいチャンネルに移動し、 `@`と入力し、ポップアップで **Get bots** \[ボットを取得] を選択します。
- このコマンドを使用して、ボットを接続します。
+
-10. 確認が取れれば、CodeStreamからTeamsに共有する準備が整います。
+7. リストからCodeStreamボットを選択し(必要であれば検索してもよい)、 **Add** をクリックします。
+8. チャンネルに戻り、 `connect` コマンドを使用して CodeStream ボットを @メンションします。共有したいチャンネルでこれを繰り返します。
-11. CodeStream に戻ると、接続したチャネルに共有できるようになります。
+
-
+9. 確認が取れれば、CodeStreamからTeamsに共有する準備が整います。
+10. CodeStreamに戻ると、先ほど接続したチャンネルに共有できるようになっています。
- から共有するを選択します。
+
## Microsoft TeamsからCodeStreamに参加する [#participate]
@@ -72,10 +95,6 @@ Microsoft Teamsに共有すると、チームメイトにコードマークが
src={codestreamMsteamsExampleCodestreamMessage}
/>
-
- これにより、指定されたIDEでコードマークが開きます。
-
-
### IDEで開く [#open-ide]
**IDEで開く** をクリックすると、コードとディスカッションの両方をお使いのIDEの中で見ることができます。CodeStream の Web ページが表示され、どの IDE を開くかを選択できます。CodeStream は選択した内容を記憶しており、次回同じリポジトリのディスカッションを閲覧する際にはその内容が反映されます。次に、あなたの IDE の適切なソースファイルに移動し、関連するコードブロックにスクロールし、ディスカッションが CodeStream ペインに表示されます。IDE でそのリポジトリを開いていない場合は、CodeStream が自動的にソースファイルを開きます (CodeStream がインストールされている状態で、以前にそのリポジトリを開いていたと仮定していますので、私たちはその場所を知っています)。
diff --git a/src/i18n/content/jp/docs/codestream/codestream-integrations/notifications.mdx b/src/i18n/content/jp/docs/codestream/codestream-integrations/notifications.mdx
index 3f1abfd4d5d..ef33fcd1999 100644
--- a/src/i18n/content/jp/docs/codestream/codestream-integrations/notifications.mdx
+++ b/src/i18n/content/jp/docs/codestream/codestream-integrations/notifications.mdx
@@ -8,13 +8,13 @@ import codestreamCodestreamDesktopNotification from 'images/codestream_screensho
import codestreamCodestreamPullRequestNotification from 'images/codestream_screenshot-crop_codestream-pull-request-notification.webp'
-New Relic CodeStream は、あなたがフォローしたコードマークやフィードバックリクエストについて通知します。CodeStream ペインの上部にあるユーザープロファイルのメニューから、 **Notifications** オプションを探します。
+CodeStream は、フォローしているコメントや問題について通知します。CodeStream ペインの上部にあるユーザー プロファイル メニューで **Notifications** \[通知] オプションを探します。
-## コードマークやフィードバック依頼の通知 [#codemarksandFRs]
+## コメントや問題の通知 [#codemarksandFRs]
-デフォルトでは、自分が作成したコードマークやフィードバックリクエスト、自分が言及されたもの(元の投稿やその後の返信)、自分が返信したものは自動的にフォローされるように設定されています。個別のコードマークやフィードバックリクエストのフォロー、アンフォローは、楕円形のメニューでいつでも選択できます。
+デフォルトでは、自分が作成したコメントや問題、自分が言及された場所 (元の投稿またはその後の返信のいずれか)、または自分が返信したコメントや問題を自動的にフォローするように設定されています。省略記号メニューから、いつでも個々のコメントや問題をフォローするかフォロー解除するかを選択できます。
-メール、デスクトップ、またはその両方で通知を受けるかどうかを選択できます。メール通知はすぐに送信され、メールに返信することで議論に参加することができます。返信は、該当するコードマークやフィードバック要求への返信として、CodeStreamに追加されます。返信する際は、通知が送られたのと同じメールアドレス(CodeStreamの **My Organization** に登録されているメールアドレス)であることを確認してください。
+電子メール、デスクトップ、またはその両方で通知を受け取るかどうかを選択できます。電子メール通知はすぐに送信され、電子メールに返信することでディスカッションに参加できます。あなたの返信は、適切なコメントまたは問題への返信として CodeStream に追加されます。返信するときは、通知が送信されたのと同じ電子メール アドレス (つまり、CodeStream の **Profile** \[プロフィール] に表示される電子メール アドレス) から返信していることを確認してください。
IDEでのデスクトップ通知は、VS CodeまたはJetBrains IDEを使用している場合のみ利用可能です。
@@ -32,7 +32,6 @@ IDEでのデスクトップ通知は、VS CodeまたはJetBrains IDEを使用し
また、CodeStreamでは、以下のようなメールによる通知も行っています。
-* **未解決のフィードバック依頼のリマインダーメールを送信する**:あなたに割り当てられた未解決のフィードバックリクエストで、過去24時間以内に返信していないものについて、リマインダーの電子メールを受け取ることができます。
* **自分の活動をまとめたメールを毎週送信**: 毎週月曜日に、前週のあなたとあなたの組織の活動に関する情報を送信。
## デスクトップ通知の追加 [#additionaldesktop]
@@ -40,14 +39,6 @@ IDEでのデスクトップ通知は、VS CodeまたはJetBrains IDEを使用し
CodeStreamは、以下のデスクトップ通知も提供しています。
* **Notify me about performance issues** \[パフォーマンスの問題について通知する]: コード内の新しいメソッドのパフォーマンスが低下すると、コード レベルのメトリクス [の異常検出](/docs/codestream/how-use-codestream/performance-monitoriing#clm-anomalies)に基づいてトースト通知がトリガーされます。IDE で複数のリポジトリを開いている場合、またはそれらのリポジトリに関連付けられた複数のサービスがある場合は、異常なパフォーマンスを示した最初のメソッドについてのみ通知されることに注意してください。完全なリストについては、**Observability** \[可観測性] セクションの **Code-Level Metrics** \[コードレベルのメトリクス] を必ず確認してください。
-* **Notify me about new unreviewed commits from teammates when I pull**: いつプルしても、現在のブランチにチームメイトの新しいコミットがあると、トースト通知が届きます。 **Review** ボタンをクリックすると、チームメイトの変更点のレビューを開始し、フィードバックを行うことができます。
-* **自分に割り当てられたプルリクエストについて通知する**:GitHub、GitHub Enterprise、GitLab、GitLab Self-Managed に接続して CodeStream の [プルリクエスト統合を利用している場合](/docs/codestream/how-use-codestream/pull-requests) 、プルリクエストが自分に割り当てられたりレビューアとして追加されると通知されるようにもなっています。
-
-
**Open** ボタンをクリックすると、プルリクエストがIDE上で開かれ、変更内容を確認することができます。
diff --git a/src/i18n/content/jp/docs/codestream/codestream-settings/team-administration.mdx b/src/i18n/content/jp/docs/codestream/codestream-settings/team-administration.mdx
index 7d8c1461d87..8e5026b72e2 100644
--- a/src/i18n/content/jp/docs/codestream/codestream-settings/team-administration.mdx
+++ b/src/i18n/content/jp/docs/codestream/codestream-settings/team-administration.mdx
@@ -62,7 +62,7 @@ New Relic CodeStreamは、New Relicのアカウントを持っているかどう
## 組織設定 [#organization-settings]
-管理者の場合、CodeStreamペイン上部のヘッドショットメニューの下にある **Organization Admin** メニューを使って、組織名の変更、 [onboarding](#onboarding) and [feedback requests](#feedback-request) settings, [export data](#export), or delete your orgを管理することができます。
+管理者の場合は、CodeStream ペインの上部にあるユーザー名メニューの下にある **Organization Admin** \[組織管理者] メニューを使用して、組織名の変更、 [オンボーディング](#onboarding) 設定の管理、[データのエクスポート](#export)、または組織の削除を行います。
-
-
- フィードバック要求の設定を使用して、組織のフィードバックプロセスを微調整します。
-
-
-デフォルトでは、フィードバックを要求した人が承認の仕組みを決めることができますが、代わりに、組織のすべてのフィードバック要求に対するデフォルトの動作を設定することができます。
-
-* **Any reviewer can approve**: レビューアが何人割り当てられているかにかかわらず、誰でもフィードバック要求を承認することができます。
-* **すべてのレビュアーが個別に承認する必要があります**: フィードバックリクエストは、承認されたとみなされる前に、割り当てられた各レビュアーが個別に承認する必要があります。
-
-**ラウンドロビン** は、組織内のすべての開発者を巡回します。 **ランダム** は、組織内の任意の開発者にフィードバックリクエストをランダムに割り当てます。 **Authorship** オプションでは、変更の影響を受けるコードラインを書いた開発者と、そのブランチにコミットした他の開発者に基づいて、最大3人のレビュアーを提案します。
-
### データのエクスポート [#export]
組織のディスカッションをCodeStreamから取り出すための軽量なエクスポートツールがあります。
\ No newline at end of file
diff --git a/src/i18n/content/jp/docs/codestream/how-use-codestream/discuss-code.mdx b/src/i18n/content/jp/docs/codestream/how-use-codestream/discuss-code.mdx
index 9d516fa0a2f..c0a24357e4c 100644
--- a/src/i18n/content/jp/docs/codestream/how-use-codestream/discuss-code.mdx
+++ b/src/i18n/content/jp/docs/codestream/how-use-codestream/discuss-code.mdx
@@ -72,66 +72,6 @@ import codestreamCodemarkGetPermalinkButton from 'images/codestream_screenshot-c
ファイルが時間とともに変化しても、コードマークはコードとつながっています。コードブロックの上に新しいコードを追加したり、コードを編集したり、コードブロック全体をファイルの別のセクションにカット&ペーストしたりすると、コードマークが変更に合わせて移動するのがわかります。
-ここでは、チームがコードマークを使ってIDEでコードを共同作業する様子を短いビデオ(3分15秒)で紹介しています。
-
-
-
-## コードマークスの概要 [#codemark-overview]
-
-CodeStreamペインのcodemarksセクションには、現在のリポジトリにあるすべてのコードマークが一覧表示され、簡単に参照できるようになっています。
-
-
-
-
- コードマークは、オープン、解決済み、アーカイブといった状態によって、異なるセクションと色で分けられています。
-
-
-コードマーク欄の各項目をクリックすると、その詳細やディスカッションを確認することができます。プルリクエストコメント以外は、右側の吹き出しに返信数が表示されます。
-
-デフォルトでは、現在のリポジトリのすべてのコードマークが表示されますが、フィルターを変更して、現在のブランチのすべてのコードマーク、現在のフォルダーのコードマーク、または現在選択されているファイルのコードマークを表示することができます。
-
-フィードバックやプルリクエストのコードマークは、現在のファイルフィルターを選択したときにのみ表示されます。
-
-
-
-コードマークの項目の見出しにカーソルを合わせると、右に以下のアイコンが表示されます。
-
-
-
-codemarksヘッダーには、コードのコメントや問題を作成するためのオプションが含まれています。また、コードマークをリストではなく、空間ビューで表示することもできます。ディスカッションは、参照しているコードのブロックと一緒に表示され、ソースファイルをスクロールするとディスカッションもスクロールします。
-
-
-
-
- Spatial viewは、これから作業するファイルのセクションのコードマークを確認するのに最適な方法です。
-
-
-歯車のアイコンをクリックすると、リストをさらにコントロールできます。
-
-* **複数行のコメントを折り返す**: コードマークの一部を切り取って表示するのではなく、リストでは投稿全体が表示されます。
-* **Show tags**: 適用可能なタグは各コードマークと共に表示されます。
-* **コメントを** でソート : デフォルトでは、Codemarks は日付順に並んでいますが、フィルタがカレントファイルに設定されている場合は、行番号(ファイル内での順番など)でソートすることができます。
-* **エディターの溝にアイコンを表示**: コードマークは、コードマークセクションのリストに表示されるだけでなく、エディターの溝にアイコンで表示され、参照しているコードブロックと一緒に表示されます。どの種類のコードマークを、どのステータスで表示するかを決定できます。デフォルトでは、フィードバックリクエストのコードマークは表示されますが、プルリクエストのコメントは表示されません。また、解決済みのコードマークはデフォルトで表示されますが、アーカイブされたコードマークは表示されません。
-
## コードマークの作成 [#create]
コードマークを作成するには、エディターでコードのブロックを選択し、選択したブロックの隣にある「コードストリーム」ペインに表示されるアイコンの1つをクリックします。
@@ -142,7 +82,7 @@ codemarksヘッダーには、コードのコメントや問題を作成する
src={codestreamVscodeDiscussCode}
/>
-IntelliJなどのJetBrains IDEを使用している場合、コードのブロックを選択するとエディタのガッターに表示される **+** ボタンを使ってコードマークを作成することもできます。フィードバック・リクエストやプル・リクエストのために差分を表示しているときにも、ガッターにカーソルを合わせるとボタンが表示され、1行のコメントを簡単に書くことができます。
+IntelliJ などの JetBrains IDE を使用している場合は、コードのブロックを選択したときにエディターのガターに表示される **+** ボタンを使用してコードマークを作成することもできます。
-コードストリーム」ペインが閉じていたり、表示されていない場合でも、ライトバルブメニューまたはコンテキストメニューの「コードストリーム」オプションを使ってコードマークを作成することができます。
-
-
-
-また、CodeStream ペインの上部にある **+** メニューを探してみてください。
+CodeStream ペインが閉じている場合や表示されていない場合でも、電球またはコンテキスト メニューの CodeStream オプションを使用してコードマークを作成できます。CodeStream ペインの上部にある **+** メニューを探すこともできます。
IDEに多くの時間を費やしていないチームメイトにアプローチする必要がありますか?あるいは、まだCodeStreamを利用していないチームメイトがいるかもしれません。オプションとして、コードマークをSlackやMicrosoft Teamsで共有することができます。Slackとの連携では、チームメイトがSlackから直接返信することもできます。
@@ -248,9 +180,7 @@ CodeStreamを使えば、どんなソースファイルでも、どんなコー
## コードマークの解消 [#resolve]
-必須ではありませんが、コメントと課題のコードマークはどちらも解決することができます。 [コードストリーム」ペインの「コードマーク](/docs/codestream/codestream-ui-overview/codemarks-section/) 」セクションでは、コードマークを「オープン」、「解決」、「アーカイブ」に分けています。これらの異なる状態を表すために、緑、紫、グレーのアイコンが使用されています。CodeStream」ペインに多くのオープン/グリーンのコードマークが表示されている場合は、チームメイトが解決されていない議論や問題に阻まれていることを意味します。
-
-コードマークを解決すると同時にコメントを追加したり、コードマークをアーカイブすることもできます。
+必須ではありませんが、コメントと問題のコードマークの両方を解決できます。緑、紫、灰色のアイコンは、それぞれオープン、解決済み、アーカイブされたコードマークを表すために使用されます。コードマークを解決すると同時にコメントを追加したり、コードマークを同時にアーカイブしたりすることもできます。
-
-* パーマリンクをパブリックにするか、プライベートにするかを決めます。プライベートのパーマリンクでは、コードを表示する前にCodeStreamの認証が必要になります。
-* パーマリンクをコピーして、コードのブロックを共有したい場所に貼り付けてください。
-* コメントや課題、フィードバックリクエストと同様に、パーマリンクをクリックすると、自動的にウェブ上のIDEにリダイレクトされ、ソースファイルが開かれ、対応するコードブロックまでスクロールされます。
\ No newline at end of file
+* **コードマークの再配置**: ほとんどの場合、コードマークは、ファイルが時間の経過とともに変化しても、それが参照するコードブロックに自動的にリンクされたままになります。例えば、コードブロックを切り取って、ファイルの別の場所に貼り付けると、コードマークも一緒に移動します。しかし、コードストリームが自動的に処理できないシナリオもあります。例えば、コードのブロックを別のファイルに貼り付けた場合です。このような場合、 **Reposition** のコードマークで、コードマークが正しく表示されるようにコードブロックの新しい位置を選択することができます。
\ No newline at end of file
diff --git a/src/i18n/content/jp/docs/codestream/how-use-codestream/performance-monitoring.mdx b/src/i18n/content/jp/docs/codestream/how-use-codestream/performance-monitoring.mdx
index d47fcd80fe7..e5eb67e66dd 100644
--- a/src/i18n/content/jp/docs/codestream/how-use-codestream/performance-monitoring.mdx
+++ b/src/i18n/content/jp/docs/codestream/how-use-codestream/performance-monitoring.mdx
@@ -272,14 +272,6 @@ CodeStream の**オブザーバビリティ セクション**では、IDE で現
CodeStream は、New Relic APM エージェントによって計測された各メソッドの上の CodeLens に、過去 30 分間の平均継続時間とエラー率を表示します。メトリクスは、CodeStream の **Observability** セクションで現在選択されているサービスに対して計算されます。別のサービスを展開すると、それに応じてメトリクスが更新されます。
-コードレベルのメトリクスは、CodeStream でレビューされたプル リクエストの差分に CodeLenses が表示されるため、コード レビューをよりデータドリブンにするのにも役立ちます。
-
-
-
CodeLens をクリックすると、各メトリクスを視覚化したグラフが表示されます。リポジトリが複数の New Relic 監視対象サービスに関連付けられている場合、それらを簡単に切り替えることができます。これにより、チャートとエディターの両方に表示されるコードレベルのメトリクスのベースとなるサービスが変更され、 **Observability** \[可観測性] セクションのサービスの選択も変更されます。
- アクティビティフィードは、チームメイトが投稿した新しいコメント、課題、フィードバックリクエストや、既存のディスカッションへの新しい返信を知ることができる決定的な場所です。アクティビティフィード以外では、アクティビティフィードのアイコンのバッジを見れば、常に新しい情報があるかどうかが分かります。青いバッジに白い点がついているものは、新しいディスカッションや返信があることを意味します。
+ アクティビティ フィードは、チームメイトによって投稿された新しいコメントや問題、または既存のディスカッションに対する新しい返信について知るための決定的な場所です。アクティビティ フィードを表示していないときは、アクティビティ フィード アイコンのバッジを探すことで、新しい情報があるかどうかをいつでも知ることができます。白い点が付いた青いバッジは、新しいディスカッションまたは返信があることを意味します。
-
- 青いバッジの中に数字が入っているものは、あなたが言及された新しいディスカッションやリプライがあることを意味します。
-
-
- IDEのステータスバーにあるCodeStreamのセクションでも、フィードに新しいメッセージがあることを知ることができます。ユーザー名の右側にあるドットは新しいメッセージ、数字は新しいメンションがあることを意味します。
+ IDE のステータス バーに CodeStream のエントリが表示されると、フィードに新しいメッセージがあることがわかります。ユーザー名の右側にあるドットは新しいメッセージがあることを意味し、数字は新しいメンションがあることを意味します。
- フィルタリングと検索ツールにより、組織内のコメント、課題、フィードバックリクエストのコレクションを自由に切り分けることができます。デフォルトでは、自分に割り当てられた未解決の課題やフィードバック要求が表示され、その後、すべての未解決の課題やフィードバック要求が表示されます。
+ 当社のフィルタおよび検索ツールを使用すると、組織のコメントや問題のコレクションを必要に応じて細かく切り分けることができます。デフォルトでは、自分に割り当てられている未解決の問題が表示され、続いてすべての未解決の問題が表示されます。
- フィルタリングと検索ツールを使って、コードストリームの組織から特定のコメント、問題、フィードバック要求を見つけることができます。
+ フィルターと検索ツールを使用して、コードストリーム組織を選択し、特定のコメントまたは問題を見つけます。
* リストの各項目にカーソルを合わせると、詳細が表示されます。
@@ -196,7 +142,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 公開されているすべてのコメント、課題、およびフィードバックリクエストを返します。
+ すべての未解決のコメントと問題を返します。
|
@@ -210,16 +156,6 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
-
-
- `status:approved`
- |
-
-
- 承認されたフィードバックリクエストをすべて返します。
- |
-
-
`type:issue`
@@ -240,23 +176,13 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
|
-
-
- `type:fr`
- |
-
-
- すべてのフィードバックリクエストを返します。
- |
-
-
`is:`
|
- 上記のステータスおよびタイプフィルターと同じ結果を得るには、 `open` 、 `closed` 、 `approved` 、 `issue` 、 `comment` 、または`fr`を使用します。
+ 上記のステータスおよびタイプ フィルタと同じ結果を得るには、 `open` 、 `closed` 、 `issue` または `comment` を使用します。
|
@@ -266,7 +192,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- あなた( `@me` )または任意のチームメイト( `@username` )によって作成されたすべてのコメント、問題、フィードバックリクエストを返します。
+ あなた (`@me`) またはチームメイト (`@username`) が作成したすべてのコメントと問題を返します。
|
@@ -276,17 +202,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- タイトルまたは説明のいずれかにあなた( `@me` )またはチームメイト( `@username` )が言及されているすべてのコメント、問題、およびフィードバック要求を返します。
- |
-
-
-
-
- `impacts:@`
- |
-
-
- あなた( `@me` )または任意のチームメイト( `@username` )が触れたコードをカバーするすべてのフィードバックリクエストを返します。
+ タイトルまたは説明であなた (`@me`) またはチームメイト (`@username`) が言及されているすべてのコメントと問題を返します。
|
@@ -296,17 +212,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- あなた( `@me` )またはチームメイト( `@username` )に割り当てられたすべての問題とフィードバックリクエストを返します。
- |
-
-
-
-
- `reviewer:@`
- |
-
-
- あなた( `@me` )またはチームメイト( `@username` )に割り当てられたすべての問題とフィードバックリクエストを返します。
+ あなた (`@me`) またはチームメイト (`@username`) に割り当てられたすべての課題を返します。
|
@@ -316,7 +222,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 特定のタグが付いたすべてのコメント、問題、フィードバックリクエストを返します。複数単語のタグを引用符で囲みます(たとえば、 `tag:"api server"` )。複数のタグを組み合わせて、ANDクエリを作成できます。たとえば、 `tag:blue tag:green`は青と緑の両方のタグを持つアイテムを返します。
+ 特定のタグが付いたすべてのコメントと問題を返します。複数単語のタグを引用符で囲みます (例: `tag:"api server"`)。複数のタグを組み合わせて AND クエリを作成できます。たとえば、 `tag:blue tag:green` 青と緑の両方のタグを持つアイテムを返します。
|
@@ -326,7 +232,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- タグが付いていないすべてのコメント、課題、フィードバック要求を返します。
+ タグのないすべてのコメントと問題を返します。
|
@@ -336,7 +242,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 指定したブランチに対して作成されたすべてのコメント、課題、フィードバック要求を返します。
+ 指定されたブランチに対して作成されたすべてのコメントと課題を返します。
|
@@ -346,7 +252,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 指定したコミットIDのコードを含むすべてのコメント、課題、フィードバックリクエストを返します。
+ 指定されたコミット ID のコードを含むすべてのコメントと問題を返します。
|
@@ -356,7 +262,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 指定したリポジトリのコードに対して作成されたすべてのコメント、課題、フィードバック要求を返します。
+ 指定されたリポジトリ内のコードに対して作成されたすべてのコメントと問題を返します。
|
@@ -366,7 +272,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 今日作成されたすべてのコメント、課題、およびフィードバックリクエストを返します。
+ 今日作成されたすべてのコメントと問題を返します。
|
@@ -376,7 +282,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 昨日作成されたすべてのコメント、課題、およびフィードバックリクエストを返します。
+ 昨日作成されたすべてのコメントと問題を返します。
|
@@ -386,7 +292,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 特定の日付に作成されたすべてのコメント、課題、およびフィードバック要求を返します。
+ 特定の日に作成されたすべてのコメントと問題を返します。
|
@@ -396,7 +302,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 指定した日付より前に作成されたすべてのコメント、課題、およびフィードバック要求を返します。
+ 特定の日付より前に作成されたすべてのコメントと問題を返します。
|
@@ -406,7 +312,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 指定した日付以降に作成されたすべてのコメント、課題、およびフィードバック要求を返します。
+ 特定の日付以降に作成されたすべてのコメントと問題を返します。
|
@@ -416,7 +322,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 特定の日付に更新されたすべてのコメント、課題、およびフィードバック要求を返します。
+ 特定の日に更新されたすべてのコメントと問題を返します。
|
@@ -426,7 +332,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 特定の日付以前に更新されたすべてのコメント、課題、およびフィードバック要求を返します。
+ 特定の日付より前に更新されたすべてのコメントと問題を返します。
|
@@ -436,35 +342,17 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 特定の日付以降に更新されたすべてのコメント、課題、およびフィードバック要求を返します。
+ 特定の日付以降に更新されたすべてのコメントと問題を返します。
|
-
-
- 日常業務に、他の誰かが書いたコードや他の誰かが変更したコードを使用することはほぼ避けられません。CodeStream はエディターのコードの各行の最後に Blame 情報を表示するので、誰がそのコードを最後に使用したかを簡単に見つけることができます。
-
-
-
- インライン アノテーションにカーソルを合わせると、作成者、コミット、および関連するプル リクエストとフィードバック リクエストに関する詳細情報が表示されます。また、特定のコード行に関するディスカッションやバグ レポートをすばやく開始することもできます。
-
- GitLens または GitToolBox 拡張機能がインストールされている場合、Blame 情報は表示されないことに注意してください。IDE の設定の CodeStream セクションで Blame ホバーをオフにすることもできます。
-
## キーボードショートカット [#keyboard-shortcuts]
-Windows/Linux、および macOS 用の New Relic CodeStream キーボードショートカットの表です。
+Windows/Linux、および macOS の CodeStream キーボード ショートカットの表を次に示します。
@@ -484,76 +372,6 @@ Windows/Linux、および macOS 用の New Relic CodeStream キーボードシ
-
-
- プルリクエストの作成
- |
-
-
- `ctrl+shift+p`
- |
-
-
- `ctrl+p`
- |
-
-
-
-
- マージリクエストの作成
- |
-
-
- `ctrl+shift+m`
- |
-
-
- `ctrl+m`
- |
-
-
-
-
- 新しいフィードバックリクエスト
- |
-
-
- `ctrl+shift+r`
- |
-
-
- `ctrl+r`
- |
-
-
-
-
- レビュー中の次のファイル
- |
-
-
- `alt+F6`
- |
-
-
- `option+F6`
- |
-
-
-
-
- 前のファイルのレビュー
- |
-
-
- `shift+alt+F6`
- |
-
-
- `shift+option+F6`
- |
-
-
新しいコメント
@@ -582,34 +400,6 @@ Windows/Linux、および macOS 用の New Relic CodeStream キーボードシ
|
-
-
- パーマリンクの取得
- |
-
-
- `ctrl+shift+l`
- |
-
-
- `ctrl+l`
- |
-
-
-
-
- パーマリンクをクリップボードにコピー
- |
-
-
- `ctrl+shift+l`
- |
-
-
- `ctrl+shift+l`
- |
-
-
コードストリームペインの切り替え
diff --git a/src/i18n/content/jp/docs/codestream/start-here/install-codestream.mdx b/src/i18n/content/jp/docs/codestream/start-here/install-codestream.mdx
index 07516dec7f2..9bef504fd07 100644
--- a/src/i18n/content/jp/docs/codestream/start-here/install-codestream.mdx
+++ b/src/i18n/content/jp/docs/codestream/start-here/install-codestream.mdx
@@ -12,13 +12,7 @@ import codestreamCreateorJoinTeam from 'images/codestream_screenshot-crop_create
import codestreamInviteTeammates from 'images/codestream_screenshot-crop_invite-teammates.webp'
-New Relic CodeStream は、チームが毎日 IDE で使用するツール (コード ホスト、課題トラッカー、メッセージング サービス、および観測プラットフォームである New Relic) をまとめた IDE 拡張機能です。これにより、IDE が 1 つの画面に変わり、ワークフローが簡素化され、十分な情報に基づいた意思決定を行うために必要なデータが提供されます。
-
-New Relic CodeStreamを最大限に活用できるように、まだ登録していない場合[は、無料のNewRelicアカウントにサインアップして](https://newrelic.com/signup)ください。
-
-## CodeStreamをインストールします [#install]
-
-特定のIDE用にCodeStreamをインストールすることも、Instant Observability(I / O)クイックスタートからインストールすることもできます。
+特定の IDE の CodeStream 拡張機能をインストールできます。
@@ -68,6 +63,7 @@ IDE に CodeStream 拡張機能をインストールしたら、CodeStream ペ
CodeStream に招待された場合は、招待された組織が一覧表示され、参加できます。招待されなかったとしても、既存の CodeStream 組織に参加できる可能性があります。会社が既に CodeStream に組織を持っている場合、その組織の管理者は、会社のドメインの電子メール アドレスを使用しているすべてのユーザーが、招待されずに組織に参加できるようにすることができます。この場合、サインアップすると、参加する組織が一覧表示されます。
@@ -79,6 +75,7 @@ CodeStream に招待された場合は、招待された組織が一覧表示さ
これでCodeStream組織に参加したので、最後のステップは、チームメートを組織に招待して、コードについて話し合い、レビューできるようにすることです。
diff --git a/src/i18n/content/jp/docs/codestream/start-here/what-is-codestream.mdx b/src/i18n/content/jp/docs/codestream/start-here/what-is-codestream.mdx
index 1f57728d046..a6008ea4046 100644
--- a/src/i18n/content/jp/docs/codestream/start-here/what-is-codestream.mdx
+++ b/src/i18n/content/jp/docs/codestream/start-here/what-is-codestream.mdx
@@ -1,101 +1,61 @@
---
title: New Relic CodeStream の紹介
-description: New Relic CodeStream は、開発者が住んでいる場所、つまり IDE からプロダクション テレメトリとコラボレーション ツールにアクセスできるようにします。
+description: New Relic CodeStream により、開発者が住んでいる場所、つまり IDE から実稼働テレメトリにアクセスできるようになります。
signupBanner:
text: Monitor and improve your entire stack. 100GB free. Forever.
translationType: machine
---
-import codestreamDiscussCodeAnimation from 'images/codestream_screenshot-full_discuss-code-animation.gif'
-
-import codestreamFeedbackRequestAnimation from 'images/codestream_screenshot-full_feedback-request-animation.gif'
-
-import codestreamChangeFeedbackRequestAnimation from 'images/codestream_screenshot-full_change-feedback-request-animation.gif'
-
-import codestreamPullRequestCommentAnimation from 'images/codestream_screenshot-full_pull-request-comment-animation.gif'
+import codestreamVscClm from 'images/codestream_screenshot-marketplace-vsc-clm.webp'
import codestreamErrorCommentAnimation from 'images/codestream_screenshot-full_error-comment-animation.gif'
-import errorsinboxErrorsInboxOpenIde from 'images/errors-inbox_screenshot-full_errors-inbox-open-ide.webp'
+import codestreamVscSlt from 'images/codestream_screenshot-marketplace-vsc-slt.webp'
-New Relic CodeStreamは、開発チームが自然で文脈に沿った方法でコードを議論し、レビューすることを可能にする開発者コラボレーションプラットフォームです。CodeStreamは、IDEの中で文脈に沿った議論を可能にすることで、議論を容易にするだけでなく、現在Slackチャンネルや電子メールで失われつつある制度的知識を保存します。
-
-CodeStream は、開発スプリントの開始時に Jira チケットを取得してから、プル リクエストによるコードのマージまで、開発者のワークフローをサポートします。そして、New Relic との統合により、CodeStream はそれを超えて、開発者が担当するコードが本番環境でどのように実行されているかを確認できるようになります。
+import codestreamDiscussCodeAnimation from 'images/codestream_screenshot-full_discuss-code-animation.gif'
-New Relic CodeStream を最大限に活用できるように、まだ[サインアップしていない場合は、無料の New Relic アカウント](https://newrelic.com/signup)にサインアップしてください。始めるのに助けが必要ですか?[codestream@newrelic.com](mailto:codestream@newrelic.com)までご連絡ください。
+New Relic CodeStream は、コードのパフォーマンス、コードの品質、コードのディスカッションを開発プロセスの初期段階の一部にすることで左へのシフトを可能にする IDE 拡張機能です。
-## 運用中のコードのパフォーマンスを監視 [#performance-monitoring]
+* パフォーマンスの低いメソッドに関する通知を含む、コード内の個々のメソッドのパフォーマンス データを取得します。
+* コードから構築されたサービスのエラー、脆弱性、非準拠の SLO などの実用的な情報を取得します。
+* Slack や Teams への共有オプションを使用してコードのブロックについて話し合ったり、Jira、Trello、その他多くの問題トラッカーでチケットを作成したりできます。
-ソフトウェア品質の追求は、コードがマージされても終わりではありません。コード レベルのメトリクスは、コードがメソッド レベルでどのように実行されているかについて、常時オンの広範なビューを提供します。開発者はテレメトリ データを探し出す必要はありません。テレメトリ データはエディタ内でコンテキストに応じて表示されるからです。
+## コードレベルのメトリクス
-
-
-開発者は、IDE で生産エラーを発見することにより、コードの品質についてより積極的になることができます。スタック トレースをナビゲートして問題のあるコードを見つけ、チームメイトと協力して問題を解決します。New Relic のエラー インボックスにあるスタック トレース エラーから直接 IDE にジャンプすることもできます。
+パフォーマンス データをメソッド レベルでエディターで直接確認できます。常時表示により、パフォーマンスの問題が当面の作業に考慮されるようになります。下位環境のメトリクスを確認し、本番環境に影響を与える前にパフォーマンスの問題を回避することもできます。
-オブザーバ[ビリティを IDE に導入することによるパフォーマンスの監視](/docs/codestream/how-use-codestream/performance-monitoring)について詳しく説明します。
+## エラーを調査する
-## Googleドキュメントへのコメントのようにコードを議論する [#discuss]
-
-コードのブロックを選択して、質問やコメントを入力するだけです。チームメイトはIDEからすぐにディスカッションに参加することができ、オプションでSlackやMicrosoft Teamsにディスカッションを共有して、チームメイトがチャットクライアントからも参加できるようにすることもできます。
+自分が担当するコード内で発生しているエラーを発見します。CodeStream によってスタック トレースをすばやくステップ実行すると、正しいファイルと行番号が自動的に表示され、関連するチームメイトをディスカッションに参加させることができるため、問題をできるだけ早く解決できます。
-
- コードを選択して、コメント追加ボタンをクリックします。
-
-
-CodeStreamは、コードに関するすべてのディスカッションをキャプチャし、コードと一緒に保存することで、会話を文書化します。さらに、コードが変更されると、ブランチをまたいでも、ディスカッションが自動的に再配置されるという魔法のような機能もあります。すべてはあなたの努力を必要としません。
-
-## プルリクエスト前のコードレビューで進行中の作業に関するフィードバックを得る [#feedback]
+## アプリケーションパフォーマンスの監視
-CodeStreamの軽量なフィードバックリクエストは、コミット、プッシュ、プルリクエストなどの手間をかけずに、レポの状態に関わらず、変更点を誰かに見てもらうことができます。
+コードから構築されたサービスがどのような環境でもどのように実行されているかを IDE 内で表示できます。ゴールデンメトリクス、サービスレベル目標、関連サービスにより、全体像が一目でわかります。
-
- ファイルに変更を加えたら、 **Feedback requests** のセクションで、 **+** ボタンをクリックして、その変更に対するフィードバックを要求します。
-
+## 簡略化されたコードのディスカッション
-チームメイトは、自分のIDEで、ファイルの完全な状況を確認しながら、変更内容を確認することができ、ブランチを切り替えたり、最新のものを引き出すために、現在の作業を中断する必要はありません。
+コピー&ペーストするのではなく、エディターでコードを選択するだけで、チームメイトが IDE、電子メール クライアント、または Slack/Teams から参加できるディスカッションを開始できます。CodeStream は、現在 Slack スレッドや電子メール チェーンに埋もれているこれらのディスカッションをキャプチャし、参照するコードと一緒に保存することで、チームのナレッジ ベースを自動的に構築します。チームの将来のメンバーを含むチーム全体が、注釈付きのコードベースから作業するメリットを享受できます。
-
-
- 変更に関するフィードバック要求に対応するには、コードコメントを使用します。
-
-
-CodeStreamのフィードバックリクエストはとても簡単なので、開発の最後まで待つのではなく、開発プロセス全体を通して行うことができます。スプリントを開始して数日が経ち、まだコミットされていない作業があるとします。まだコミットしていない作業もあるかもしれません。進行中の作業に対するフィードバックを要求することで、コードのマージが必要になったときのために問題を保存しておくのではなく、早期に問題を特定して解決することができます。
-
-## プルリクエストの作成とレビュー [#prs]
-
-ほとんどの開発チームにとって、開発プロセスの最終段階はプルリクエストです。たとえあなたのチームがCodeStreamの [feedback requests](/docs/codestream/how-use-codestream/request-feedback) を、サイクル終了時のPRベースのコードレビューの単なる前触れではなく、その代わりとして使用することを決定したとしても、IDEの中でプルリクエストを作成し、レビューすることができます。
-
-
-
-
- Datadog を使用してログを監視していますが、New Relic の監視機能を無料で試してみたいですか?方法については、Datadog からの移行方法に関する [ガイドを](/docs/tutorial-dd-migration/migrating-from-dd/) ご覧ください。
-
\ No newline at end of file
+ title="How to discuss code in your IDE."
+ alt="An animated image showing how to discuss a selection of code."
+ src={codestreamDiscussCodeAnimation}
+/>
\ No newline at end of file
diff --git a/src/i18n/content/jp/docs/codestream/troubleshooting/github-org-repos.mdx b/src/i18n/content/jp/docs/codestream/troubleshooting/github-org-repos.mdx
index e1196b50e01..0ddda195fcc 100644
--- a/src/i18n/content/jp/docs/codestream/troubleshooting/github-org-repos.mdx
+++ b/src/i18n/content/jp/docs/codestream/troubleshooting/github-org-repos.mdx
@@ -1,6 +1,6 @@
---
-title: GitHubに登録しているすべての組織のPRや課題がCodeStreamに表示されないのはなぜですか?
-metaDescription: How to make sure all of your GitHub organizations are listed in CodeStream.
+title: すべての GitHub 組織のリポジトリが CodeStream にリストされていないのはなぜですか?
+metaDescription: How to make sure all of your GitHub repositories are listed in CodeStream.
translationType: machine
---
@@ -8,7 +8,7 @@ import codestreamGithubAuthentication from 'images/codestream_screenshot-crop_gi
import codestreamGithubOauthApps from 'images/codestream_screenshot-crop_github-oauth-apps.webp'
-GitHub に接続すると、CodeStream ペインの **Pull Requests** に自分のオープンなプルリクエストがすべて表示され、 **Issues** に自分に割り当てられたすべての課題が表示されます。GitHub のいずれかの組織からのプルリクエストや課題が表示されない場合は、GitHub での認証時にすべての組織へのアクセスを許可しなかったことが原因と考えられます。
+GitHub で問題を作成しようとしたときに、GitHub 組織のいずれかのリポジトリが見つからない場合は、GitHub で認証したときにすべての組織にアクセスを許可しなかったことが考えられます。
+
+## 目的 [#objective]
+
+このチュートリアル シリーズでは、問題のある API インタラクションを特定する方法と、New Relic プラットフォームを使用してそれらを解決する方法を説明します。このドキュメントでは以下について説明します。
+
+* New Relic をアプリケーションと統合して監視するデータを送信する
+* 外部サービス UI を使用した問題のある API の特定
+
+## New Relicの統合 [#integrate]
+
+何かを監視または解決するには、使用するデータを収集するエージェントをインストールする必要があります。
+
+
+
+ ### APMエージェントのインストール
+
+ アプリケーションのパフォーマンスを監視するには、アプリケーションの言語専用に作成されたエージェントを使用します。ロゴをクリックすると New Relic プラットフォームに移動し、ガイドに従ってエージェントのインストールと構成を行います。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ エージェントをインストールしたら、 **[one.newrelic.com](https://one.newrelic.com/nr1-core?filters=(domain%3D'APM'ANDtype%3D'APPLICATION'))** にアクセスしてアプリを選択します。まだ多くのデータが表示されていない場合は、しばらく離れて、エージェントがアプリケーションの実行中にリアルタイム データを収集できるようにします。
+
+
+
+ ### 追加セットアップ
+
+ 特定の構成では追加のセットアップが必要になる場合があります。詳細については [、外部サービスのセットアップに関するドキュメント](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup/) をご覧ください。
+
+ 上記のドキュメントの追加手順を完了したら、**[one.newrelic.com](https://one.newrelic.com/nr1-core?filters=(domain%3D'APM'ANDtype%3D'APPLICATION'))** > (アプリを選択) > **外部サービス** に移動します。API と外部サービスに関するデータが流入しているのが確認できるはずです。
+
+
+
+## 問題のある API を特定する
+
+アプリケーションが API やその他の外部サービスとどのように対話するかを追跡できるようになりました。その情報を使用して、問題の原因となっている API または外部サービスを特定してみましょう。
+
+
+
+ ### 根本原因を考える
+
+ 問題のある API またはサービスを探している場合は、おそらくすでに解決できる問題を抱えているでしょう。場合によっては、ユーザーが購入できなかったり、サイトにログインできなかったりする可能性があります。
+
+ アプリケーションは数十または数百の API を呼び出す場合があります。次の手順を続行する間、根本的な問題に留意してください。購入に関して問題があることがわかっている場合は、購入および取引関連の API に焦点を当てる必要があります。ログインの問題の場合は、ユーザー データベースまたは外部認証サービスへの呼び出しに焦点を当てることができます。
+
+
+
+ ### マップによるトリアージ
+
+ あなたがウェブストアを運営していて、荷物が到着したときに通知が来なかったという苦情のメールをユーザーから受け取ったとします。SMS 通知と電子メール通知の両方を受信しているはずなので、これは奇妙だと思われます。
+
+ 配信プロセス全体を処理するサービスを実装しました。**External services** \[外部サービス] ページに移動し、 **Maps** \[マップ]をクリックします。
+
+
+
+ これにより、独自のすべてのサービスと外部サービスまたは API との関係が表示されます。この場合、優先順位付けが必要なサービスは `Delivery`です。これは、 `Order-Composer` という別のサービスによって呼び出され、右に示すように、他の 4 つのサービスと API を呼び出します。
+
+
+
+ ### 異常を特定する
+
+ マップ ビューには、スループットと応答時間を追跡するのに役立つグラフがいくつか表示されますが、サービスとそのサービスが呼び出すサービスとの間の線の太さと色によって、それらのメトリクスも視覚的に表現されます。
+
+
+
+ `Delivery` サービスとその依存関係の間の線は、 `Sms notification`を指している線を除いて、すべてかなり似ているように見えます。実際、SMS サービスの上にマウスを置くと、スループットが他の依存関係よりもはるかに高いことがわかります。
+
+
+
+これで、ユーザーの不満の原因として考えられるのは `Sms notification` であると特定されました。疑わしい人物を特定したので、根本的な問題を解決できます。
+
+
\ No newline at end of file
diff --git a/src/i18n/content/jp/docs/tutorial-external-services/solve-external.mdx b/src/i18n/content/jp/docs/tutorial-external-services/solve-external.mdx
new file mode 100644
index 00000000000..393cb40d648
--- /dev/null
+++ b/src/i18n/content/jp/docs/tutorial-external-services/solve-external.mdx
@@ -0,0 +1,86 @@
+---
+title: 外部サービスの問題を解決する
+metaDescription: Resolve the root cause of your API or external service problems
+translationType: machine
+---
+
+import apmPreview from 'images/apm_screenshot-crop_maps-preview.webp'
+
+import apmTrace from 'images/apm_screenshot-crop_maps-trace.webp'
+
+これで、注意が必要な API または外部サービスが特定されました。このチュートリアルでは、問題を修復するために必要な手順を説明します。
+
+API や外部サービスの問題に対する唯一の解決策はないことに注意してください。このチュートリアルのアイデアを出発点として利用し、何かを発見するたびにさらに掘り下げてください。
+
+## 目的
+
+このドキュメントでは、問題のある API または外部サービスの例として、 [前のチュートリアル ドキュメントで](docs/tutorial-external-services/respond-external)特定した外部サービスである `Sms notification`を使用します。このドキュメントでは以下について説明します。
+
+* メトリック チャートの異常を探す
+* トレースを使用して根本原因を見つける
+
+## 根本原因を特定して解決する
+
+すでにマップ ビューを使用して問題のある外部サービスを特定しましたが、これを使用してさらに詳しく調べることができます。
+
+
+
+ ### メトリクスを使用して異常を特定する
+
+ マップ ビューで、問題のある API または外部サービスの上にマウスを置き、 **Show entity preview** \[エンティティ プレビューの表示] を選択します。
+
+
+
+ これによりペインが開き、サービスの一般的な状態の概要が表示されます。問題を特定するためにこれらのメトリクスの一部をすでに使用しましたが、ここでさらに詳しく調べることが役立ちます。以下の点に注意してください。
+
+ * チャートの急上昇。
+ * 明らかに高い応答率またはスループット。
+ * 応答率とスループットはほぼ同時に最高値と最低値に達します。
+
+ 異常を特定した場合は、右上の時間ピッカーを使用して、表示している時間範囲を拡大します。これは、パターンではなく異常を識別するのに役立ちます。
+
+ 上のスクリーンショットを見ると、スループットが予想より少し高いこと以外は、目立った点は何もないことがわかります。すぐに心配することは何もありません。
+
+
+
+ ### トレースを使用してコードレベルの問題を見つける
+
+ 問題のある外部サービスにもう一度カーソルを置き、今度は **View traces** \[トレースの表示]をクリックします。
+
+
+
+ これにより、そのサービスに関連するトレースに関するさまざまなグラフが表示されます。この場合、 `Controller/Sinatra//purchase` という単一のトレースがあり、ユーザーが購入ボタンをクリックしてから SMS 通知を送信する API 呼び出しに至るまで作成されたデータを追跡できます。
+
+ 役立つと思う限り深くクリックしますが、チャート内の異常やエラーを見つけることに再度集中してください。たとえば、ユーザーの保存された電話番号を復号化する API 呼び出しに至るまでトレースを追跡できます。ここでエラーが発生すると、問題全体が明らかになる可能性があります。復号化呼び出しが失敗し、有効な電話番号が返されなかった場合、ユーザーは電話通知を受け取ることはありません。
+
+ これは、 `Sms notification` グラフにエラーが見られなかった理由も説明します。その API は正しく動作していましたが、さらに上流の API が実際には目的を果たさないデータを API に提供していました。
+
+
+
+ ### データを使用して論理エラーを特定する
+
+ すべての解決策がエラーや異常から直接得られるわけではありません。根本的な原因は、もっと日常的なものである可能性があります。
+
+ たとえば、 `Sms notification` API に関連するすべてのグラフを調査したとします。また、すべてのトレースを調べて、エラーや奇妙な異常を特定しませんでした。すべて問題なく動作しているように見えますが、顧客はまだ通知を受信していません。
+
+ `Sms notification` のスループット グラフを見たとき、突然、支払い処理業者が提供する購入の制限に達した可能性があることに気づきました。API はあなたの呼び出しを受け取りましたが、割り当てに達していたので、受け取ったリクエストに対して何も実行しませんでした。エラーも返されませんでした。
+
+
+
+## 次は何ですか? [#next]
+
+API の問題を修正し、システム マップ全体をトレースしたので、プラットフォームをさらに探索する準備が整いました。
+
+* アプリの動作が遅いですか?「アプリ [が遅い」](docs/tutorial-app-slow/root-causes) チュートリアルで、アプリの遅延を優先順位付けして診断する方法を学びましょう。
+* ピーク需要の日が近づいている場合は、New Relic が [容量計画](/docs/tutorial-peak-demand/get-started)にどのように役立つかをご覧ください。
+* 高品質のアラートを作成したいですか?[アラート チュートリアルは、](/docs/tutorial-create-alerts/create-new-relic-alerts/) アラート システムのセットアップに役立ちます。
+
+
\ No newline at end of file
diff --git a/src/i18n/content/jp/docs/tutorial-kubernetes-learn/tutorial-k8s-intro.mdx b/src/i18n/content/jp/docs/tutorial-kubernetes-learn/tutorial-k8s-intro.mdx
index ac983fdcf6c..38626cebcfc 100644
--- a/src/i18n/content/jp/docs/tutorial-kubernetes-learn/tutorial-k8s-intro.mdx
+++ b/src/i18n/content/jp/docs/tutorial-kubernetes-learn/tutorial-k8s-intro.mdx
@@ -13,7 +13,7 @@ import apmApmCompleteSummaryPage from 'images/apm_screenshot-full_apm-complete-s
import infraComplete from 'images/infrastructure_screenshot-full_infra-main.webp'
-Kubernetes システムは本質的に複雑で、把握するのが難しいという評判があります。Kubernetes を概念として理解すること自体が複雑な作業であり、特定の Kubernetes システムを理解しようとすると、さらに複雑さが増すだけです。アクセスする前にスピンアップしたりダウンしたりする一時的なコンテナーをどのようにトラブルシューティングしますか?一度に何百ものコンテナをオーケストレーションしている場合、システム全体の健全性をどのように理解すればよいでしょうか?複雑なシステムを機能層に分解するにはどうすればよいでしょうか?
+Kubernetes システムは本質的に複雑で、把握するのが難しいという評判があります。Kubernetes を概念として理解すること自体が複雑な作業であり、特定の Kubernetes システムを理解しようとすると、さらに複雑さが増すだけです。アクセスする前にスピンアップまたはスピンダウンする一時的なコンテナーをトラブルシューティングするにはどうすればよいですか?一度に何百ものコンテナをオーケストレーションしている場合、システム全体の健全性をどのように理解すればよいでしょうか?複雑なシステムを機能層に分解するにはどうすればよいでしょうか?
このチュートリアル シリーズでは、New Relic を使用して Kubernetes システムを監視する方法と、Kubernetes 全体の理解を効率化する方法を学びます。
@@ -37,7 +37,7 @@ Kubernetes システムは本質的に複雑で、把握するのが難しいと
src={tutorialInstall}
/>
- New Relic Kubernetes の統合により、環境の健全性とパフォーマンスを完全に観察できるようになります。提供されるデータを使用して、Kubernetes クラスター全体の健全性を監視したり、単一のポッドにドリルダウンしたりできます。このエージェントは、Kubernetes イベント統合、Prometheus Agent、New Relic Logs Kubernetes プラグインなど、いくつかの New Relic 統合を使用してクラスターからテレメトリ データを収集します。
+ New Relic Kubernetes の統合により、環境の健全性とパフォーマンスを完全に観察できるようになります。提供されるデータを使用して、Kubernetes クラスター全体の健全性を監視したり、個々のポッドを確認したり、特定のサービスやアプリケーションをドリルダウンしたりできます。このエージェントは、Kubernetes イベント統合、Prometheus Agent、New Relic Logs Kubernetes プラグインなど、いくつかの New Relic 統合を使用してクラスターからテレメトリ データを収集します。
Kubernetes システムを統合するにはさまざまな方法があります。このチュートリアル シリーズでは、以下のガイド付きインストール手順を使用することを強くお勧めします。他のインストール パスについては、 [Kubernetes インストール ドキュメント](/docs/kubernetes-pixie/kubernetes-integration/installation/kubernetes-integration-install-configure/)を参照してください。
@@ -89,13 +89,17 @@ Kubernetes システムは本質的に複雑で、把握するのが難しいと
- さらに、Pixie による自動テレメトリを使用して、Kubernetes クラスターの監視を開始できます。[Pixie による自動テレメトリの詳細については、こちらをご覧ください](/docs/kubernetes-pixie/auto-telemetry-pixie/get-started-auto-telemetry-pixie/)。
+ さらに、Pixie による自動テレメトリを使用して Kubernetes クラスターを監視できます。[Pixie による自動テレメトリの詳細については、こちらをご覧ください](/docs/kubernetes-pixie/auto-telemetry-pixie/get-started-auto-telemetry-pixie/)。
+
+ このチュートリアルでは Pixie の概念については説明しませんが、 [他にもさまざまなチュートリアルが](https://docs.px.dev/tutorials/pixie-101/)あります。
### アプリケーションからデータを送信する
- Kubernetes は、コンテナ化されたワークロードを管理するときに発生する労力を抽象化することに優れています。この抽象化により、個々のアプリケーションをその基盤となるインフラストラクチャに関連付ける際に複雑さが増します。この複雑さを軽減するために、アプリケーションとサービスからのデータを New Relic にレポートし、それらを Kubernetes クラスター内の場所に直接関連付けることができます。
+ 数十、数百のコンテナを実行すると、メンテナンスに労力がかかり、困難が生じます。Kubernetes は、クラスターを最上位のレベルとして、コンテナーをより高いレベルの概念に抽象化します。この抽象化はクラスター全体を理解するのに役立ちますが、アプリケーション レベルで何が起こっているのかを理解するのが難しくなります。
+
+ この複雑さを軽減するために、コンテナ化されたアプリケーションから New Relic にデータをレポートできます。これにより、アプリケーションの健全性を確認できるだけでなく、アプリケーション データを基盤となる Kubernetes インフラストラクチャに関連付けることもできます。
\ No newline at end of file
diff --git a/src/i18n/content/jp/docs/tutorial-kubernetes-learn/tutorial-k8s-layers.mdx b/src/i18n/content/jp/docs/tutorial-kubernetes-learn/tutorial-k8s-layers.mdx
index fb1f67ca923..614e4667454 100644
--- a/src/i18n/content/jp/docs/tutorial-kubernetes-learn/tutorial-k8s-layers.mdx
+++ b/src/i18n/content/jp/docs/tutorial-kubernetes-learn/tutorial-k8s-layers.mdx
@@ -29,19 +29,19 @@ Kubernetes システムの構成要素を確認し、New Relic がクラスタ
Kubernetes システムについては 3 つの主要なセクションで説明します。
-* **クラスター**: これは Kubernetes システム全体を表します。クラスターには複数のデプロイメントが含まれており、それらのデプロイメントには多数のポッドが収容されます。各ポッドには、個別のサービスとアプリケーションが含まれています。
+* **クラスター**: これは Kubernetes システム全体を表します。クラスターには複数のデプロイメントが含まれており、それらのデプロイメントには多数のポッドが収容されます。各ポッドは、個別のサービスとアプリケーションを維持します。
* **オーケストレーションされたもの**: これらは Kubernetes システムの中核となる要素です。オーケストレーションされたコンポーネントは、必要に応じてポッドをスピンアップおよびスピンダウンするデプロイメント全体で構成されます。
-* **サービスとアプリケーション**: サービスとアプリケーションは、Kubernetes システムの主力です。Kubernetes システム内では、各ポッドに 1 つ以上のサービスとアプリケーションが収容されます。サービスとアプリケーションは、システムを駆動する重要な機能を提供します。これは、計算、Web アプリ、またはその他のアプリケーションである可能性があります。
+* **サービスとアプリケーション**: サービスとアプリケーションは、Kubernetes システムの主力です。Kubernetes システム内では、各ポッドに 1 つ以上のサービスとアプリケーションが収容されます。サービスとアプリケーションは、システムの目的を推進する重要な機能を提供します。これは、計算、Web アプリ、またはその他のアプリケーションである可能性があります。
これらのセクションは相互にネストされていることに注意することが重要です。クラスターには複数のオーケストレーションされたレイヤーが含まれており、各オーケストレーションされたレイヤーは複数のサービス レイヤーとアプリケーション レイヤーで構成されます。
- Kubernetes システムを理解するためにそれを分割する方法はたくさんあります。これらのレイヤーは、システムを考える 1 つの方法にすぎません。
+ Kubernetes システムを理解するためにそれを分割する方法はたくさんあります。これらのレイヤーは、システムについて考える 1 つの方法にすぎません。
## クラスター層を理解して監視する
-多数のデプロイメントとポッドがある大規模な Kubernetes システムでは、各コンポーネントを手動で監視することは現実的ではありません。数十または数百のデプロイメントを扱う可能性があるため、数百または数千の個別のポッドを監視する必要がある可能性があります。New Relic は、システム全体の健全性を監視し、問題が発生したときにタイムリーにアラートを受け取るためのより効率的なアプローチを提供します。
+多数のデプロイメントとポッドがある大規模な Kubernetes システムでは、各コンポーネントを手動で監視することは現実的ではありません。数十または数百のデプロイメントを扱う可能性があるため、数百または数千の個別のポッド、サービス、およびアプリケーションを監視する必要がある可能性があります。New Relic は、システム全体の健全性を監視し、問題が発生したときにタイムリーにアラートを受け取るためのより効率的なアプローチを提供します。
次の手順は、クラスターの一般的な監視戦略をガイドします。
@@ -57,7 +57,7 @@ Kubernetes システムについては 3 つの主要なセクションで説明
### クラスターを優先順位付けします
- Kubernetes 概要ダッシュボードには、クラスターに関する高レベルのデータが表示されます。ポッドやサービスの数などの一般的なデータを見つけることができますが、より重要なのは、実行中のポッドの割合、失敗したポッドの数、コンテナーの再起動の数など、クラスターの健全性に関するデータを見つけることができることです。
+ Kubernetes 概要ダッシュボードには、クラスターに関する高レベルのデータが表示されます。ポッドやサービスの数などの一般的なデータを見つけることができます。さらに重要なのは、実行中のポッドの割合、失敗したポッドの数、コンテナーの再起動の数など、クラスターの健全性に関するデータを見つけることができることです。
このダッシュボードを使用して、クラスターの全体的な健全性を測定します。探すべき点がいくつかあります。
@@ -94,9 +94,9 @@ Kubernetes システムについては 3 つの主要なセクションで説明
|
- 保留中のポッドの経時変化やメモリ使用率の経時変化などを示すさまざまなグラフがあります。
+ 長期にわたる保留中のポッドや長期にわたるメモリ使用率などを示すさまざまなグラフがあります。
- 上のスクリーンショットの **Kubernetes Warning Events by Reason** \[理由別の Kubernetes 警告イベント] グラフのスパイクのように、スパイクはかなり正常です。このようなスパイクは約 5 分ごとに定期的に発生するため、心配する必要はありません。規則的なパターンから外れて発生するスパイク、または通常よりもはるかに大きい規模のスパイクを探します。
+ 上のスクリーンショットにある理由別の **Kubernetes Warning Events by Reason** \[Kubernetes 警告イベント グラフの] スパイクのように、スパイクは常に懸念の原因となるわけではありません。このようなスパイクは約 5 分ごとに定期的に発生するため、危険信号は発生しません。規則的なパターンから外れて発生するスパイク、または通常よりもはるかに大きい規模のスパイクを探します。
|
@@ -106,7 +106,7 @@ Kubernetes システムについては 3 つの主要なセクションで説明
- クラスター内のノードの準備ができており、ポッドをホストできるかどうかを確認します。クラスターのインフラストラクチャーがボトルネックなしでワークロードを処理できるように準備されていることを確認してください。
+ クラスター内のノードの準備ができており、ポッドをホストできるかどうかを確認します。クラスターのインフラストラクチャーがボトルネックなしでワークロードを処理できることを確認してください。
|
diff --git a/src/i18n/content/kr/docs/apm/agents/java-agent/troubleshooting/jboss-and-wildfly-incomplete-telemetry.mdx b/src/i18n/content/kr/docs/apm/agents/java-agent/troubleshooting/jboss-and-wildfly-incomplete-telemetry.mdx
new file mode 100644
index 00000000000..e74e183b8b4
--- /dev/null
+++ b/src/i18n/content/kr/docs/apm/agents/java-agent/troubleshooting/jboss-and-wildfly-incomplete-telemetry.mdx
@@ -0,0 +1,85 @@
+---
+title: JBoss 및 Wildfly의 불완전한 원격 측정 문제 해결
+type: troubleshooting
+tags:
+ - Agents
+ - Java agent
+ - Troubleshooting
+metaDescription: 'If you are running an app using JBoss/Wildfly, you may get incomplete or incorrect telemetry due to classloading issues with classes the agent use if you use Finest level logs. Usually this is resolved by setting a system property jboss.modules.system.pkgs with a comma seperated list of java packages causing this error.'
+translationType: machine
+---
+
+## 문제 [#problem]
+
+JBoss EAP 7.4(또는 이상) 또는 Wildfly 23(또는 이상)을 사용하는 앱에서 불완전한 원격 측정을 받고 있습니다. 다음과 같은 원격 분석이 불완전할 수 있는 경우는 다음과 같습니다.
+
+* 웹 요청은 웹이 아닌 트랜잭션으로 변환됩니다.
+* 운영자 이름이 잘못되었습니다.
+
+`Finest` 로그 수준을 사용하여 로그를 설정하고 `NoClassDefFoundError` 스택 추적을 찾는 경우 이는 JBoss EAP 및 Wildfly에서 클래스 로딩이 작동하는 방식에 문제가 있음을 나타냅니다.
+
+에이전트 위버는 JBoss를 사용하여 앱에서 특정 클래스를 계측할 수 있지만 수정된 클래스는 JBoss EAP/Wildfly에서 인식되지 않는 패키지 및 모듈을 사용할 수 있습니다. 결과적으로 ClassLoader가 특정 클래스를 찾을 수 없으며, 이로 인해 `NoClassDefFoundError` 이 발생합니다.
+
+앱이 계속 작동할 수는 있지만 에이전트가 보낸 데이터는 부정확하거나 불완전할 수 있습니다. 에이전트 버전 8.6부터 Java 에이전트는 JBoss가 특정 패키지를 인식하도록 할 수 있습니다. 이를 통해 Wildfly/JBoss EAP 계측이 즉시 작동할 수 있지만 ClassLoader는 여전히 `NoClassDefFoundError` 반환할 수 있습니다.
+
+## 해결책 [#solution]
+
+에이전트 로그 수준을 `Finest` 으로 설정하는 경우 에이전트 로그 파일에서 `NoClassDefFoundError` 포함된 스택 추적을 확인하세요.
+
+이 예는 8.6에서 패치되었지만 다음은 `java.util.logging` 패키지에 나타나는 이 오류의 예입니다.
+
+```
+2022-02-01T11:59:16,167-0800 [97709 221] com.newrelic.agent.instrumentation.ClassTransformerServiceImpl FINEST: An error was thrown from instrumentation library com.newrelic.instrumentation.servlet-2.4
+java.lang.NoClassDefFoundError: java/util/logging/Level
+ at com.nr.instrumentation.servlet24.ServletHelper.setTxNameUsingServletName(ServletHelper.java:187) ~[?:?]
+ at com.nr.instrumentation.servlet24.ServletHelper.setTransactionName(ServletHelper.java:96) ~[?:?]
+ at javax.servlet.http.HttpServlet.service(HttpServlet.java) ~[?:?]
+ at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) ~[?:?]
+ at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) ~[?:?]
+ at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[?:?]
+ at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[?:?]
+ at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) ~[?:?]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[?:?]
+ at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) ~[?:?]
+ at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) ~[?:?]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) ~[?:?]
+ at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) ~[?:?]
+ at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) ~[?:?]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68) ~[?:?]
+ at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) ~[?:?]
+ at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105) ~[?:?]
+ at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?]
+ at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?]
+ at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?]
+ at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?]
+ at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249) [undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78) [undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99) [undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387) [undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841) [undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001]
+ at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001]
+ at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001]
+ at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001]
+ at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001]
+ at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280) [xnio-api-3.8.4.Final-redhat-00001.jar!/:3.8.4.Final-redhat-00001]
+ at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312]
+```
+
+* `java.util.logging.Level` 클래스가 오류를 일으키므로 `jboss.modules.system.pkgs` 이라는 시스템 속성을 설정해야 합니다. 이를 통해 JBoss는 `java.util.logging` 패키지의 모든 클래스를 인식할 수 있습니다.
+* 이 문제를 해결하려면 JBoss가 인식할 Java 패키지의 쉼표로 구분된 목록을 추가하여 시스템 속성을 설정하십시오. 예: `Djboss.modules.system.pkgs=java.util.logging,javax.management`.
+* 이 솔루션을 구현한 후에는 [지원팀](https://support.newrelic.com/s/) 에 문의하는 것이 좋습니다. 에이전트 로그에서 `NoClassDefFoundError` 발견되면 에이전트가 해당 클래스를 사용하고 있음을 의미합니다. 지원 팀에 알리면 JBoss가 더 많은 패키지를 인식할 수 있는 잠재적인 패치를 제공할 수 있는 기회가 열립니다.
\ No newline at end of file
diff --git a/src/i18n/content/kr/docs/apm/agents/php-agent/other-integrations/magento-business-insights.mdx b/src/i18n/content/kr/docs/apm/agents/php-agent/other-integrations/magento-business-insights.mdx
index 644f1d4bde0..8c219b4198a 100644
--- a/src/i18n/content/kr/docs/apm/agents/php-agent/other-integrations/magento-business-insights.mdx
+++ b/src/i18n/content/kr/docs/apm/agents/php-agent/other-integrations/magento-business-insights.mdx
@@ -31,8 +31,8 @@ New Relic에서 Magento 앱 모니터링을 시작하려면 다음 단계에 따
에이전트를 설치하려면 다음 설치 방법 중 하나를 선택하십시오.
- * 빠르고 쉬운 설치 프로세스를 위해 [가이드 설치](https://one.newrelic.com/launcher/nr1-core.explorer?pane=eyJuZXJkbGV0SWQiOiJucjEtY29yZS5saXN0aW5nIn0=&cards%5B0%5D=eyJuZXJkbGV0SWQiOiJucjEtaW5zdGFsbC1uZXdyZWxpYy5ucjEtaW5zdGFsbC1uZXdyZWxpYyIsImFjdGl2ZUNvbXBvbmVudCI6IlZUU09FbnZpcm9ubWVudCIsInBhdGgiOiJndWlkZWQifQ==) 의 단계를 따르십시오.
- * 고급 설치 프로세스를 위해[수동으로 에이전트 설치](/docs/infrastructure/install-infrastructure-agent/get-started/install-infrastructure-agent/)
+ * 빠르고 쉬운 설치 프로세스를 위해 [안내된 설치](https://one.newrelic.com/launcher/nr1-core.explorer?pane=eyJuZXJkbGV0SWQiOiJucjEtY29yZS5saXN0aW5nIn0=&cards%5B0%5D=eyJuZXJkbGV0SWQiOiJucjEtaW5zdGFsbC1uZXdyZWxpYy5ucjEtaW5zdGFsbC1uZXdyZWxpYyIsImFjdGl2ZUNvbXBvbmVudCI6IlZUU09FbnZpcm9ubWVudCIsInBhdGgiOiJndWlkZWQifQ==) 단계를 따르세요.
+ * 고급 설치 프로세스를 위해 [에이전트를 수동으로 설치합니다](/docs/infrastructure/install-infrastructure-agent/get-started/install-infrastructure-agent/) .
@@ -42,8 +42,8 @@ New Relic에서 Magento 앱 모니터링을 시작하려면 다음 단계에 따
에이전트를 설치하려면 다음 설치 방법 중 하나를 선택하십시오.
- * 빠르고 쉬운 설치 프로세스를 위해 [가이드 설치](https://one.newrelic.com/launcher/nr1-core.settings?pane=eyJuZXJkbGV0SWQiOiJ0dWNzb24ucGxnLWluc3RydW1lbnQtZXZlcnl0aGluZyJ9&cards%5B0%5D=eyJuZXJkbGV0SWQiOiJzZXR1cC1uZXJkbGV0cy5zZXR1cC1waHAtaW50ZWdyYXRpb24iLCJhY2NvdW50SWQiOjI2NDA0MDl9&platform%5BaccountId%5D=1) 의 단계를 따르십시오.
- * 고급 설치 프로세스를 위해[수동으로 에이전트 설치](/docs/apm/agents/php-agent/installation/php-agent-installation-overview/)
+ * 빠르고 쉬운 설치 프로세스를 위해 [안내된 설치](https://one.newrelic.com/launcher/nr1-core.settings?pane=eyJuZXJkbGV0SWQiOiJ0dWNzb24ucGxnLWluc3RydW1lbnQtZXZlcnl0aGluZyJ9&cards%5B0%5D=eyJuZXJkbGV0SWQiOiJzZXR1cC1uZXJkbGV0cy5zZXR1cC1waHAtaW50ZWdyYXRpb24iLCJhY2NvdW50SWQiOjI2NDA0MDl9&platform%5BaccountId%5D=1) 단계를 따르세요.
+ * 고급 설치 프로세스를 위해 [에이전트를 수동으로 설치합니다](/docs/apm/agents/php-agent/installation/php-agent-installation-overview/) .
@@ -113,99 +113,99 @@ New Relic에서 Magento 앱 모니터링을 시작하려면 다음 단계에 따
integrations:
- name: nri-flex
# interval: 30s
- config:
- name: MySQLDbFlex
- apis:
- - database: mysql
- # connection string for an rds mysql instance. Be sure to use the writer endpoint here. /sys is the default database. newrelic:Password is the user:pass.
- db_conn: newrelic:Root!123@tcp(localhost:3306)/magento2
- logging:
- open: true
- # custom_attributes: # applies to all queries
- # host: CustomMagentoMySQL # custom host name atribute
- db_async: true # process queries async
- db_queries:
- - name: MySQLShowVars
- run: SHOW VARIABLES;
- custom_attributes: # can apply additional at a nested level
- attype: show-vars
- host: CustomMagentoMySQL
- - name: MySQLShowStatus
- run: SHOW STATUS LIKE 'Max%conn%';
- custom_attributes: # can apply additional at a nested level
- attype: used-conns
- host: CustomMagentoMySQL
- - name: MySQLCustomProcessList
- run: SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST # grab all processes from MySQL
- custom_attributes: # can apply additional at a nested level
- attype: info-schema-query
- host: CustomMagentoMySQL
- - name: MYSQLSalesOrderDetails
- run: SELECT grand_total, shipping_amount, subtotal, total_paid, discount_amount, store_currency_code, created_at, updated_at, customer_is_guest, tax_amount, customer_id, status, entity_id AS 'order_id' FROM sales_order;
- - name: MySQLSalesOrderCumulative
- run: SELECT AVG(grand_total) AS 'average_grand_total', SUM(grand_total) AS 'grand_total_sum', SUM(total_item_count) AS 'total_order_item_count' FROM sales_order;
- custom_attributes: # can apply additional at a nested level
- attype: blocking-query
- host: CustomMagentoMySQL
- - name: MySQLSalesOrderByStatus
- run: SELECT status AS 'order_status', COUNT(increment_id) AS 'total_orders', (SUM(grand_total)) AS 'total_billed_amount_by_status' FROM sales_order GROUP BY status;
- - name: MYSQLSalesOrderByCustomerGroup
- run: SELECT SUM(salesOrder.grand_total) AS 'grand_total_sum_of_all_orders', AVG(salesOrder.grand_total) AS 'grand_total_average_of_all_orders', customerGroup.customer_group_code AS 'customer_group_code' FROM `sales_order` salesOrder JOIN `customer_group` customerGroup ON salesOrder.customer_group_id = customerGroup.customer_group_id GROUP BY salesOrder.customer_group_id;
- - name: MYSQLSalesOrderByProduct
- run: SELECT items.order_id AS 'Order ID', items.created_at AS 'Order Created Date', orders.status AS 'Order Status', items.name AS 'productName', items.sku AS ProductSearchcode, orders.total_item_count AS 'Order Quantity', orders.grand_total AS 'Grand Total' FROM sales_order AS orders JOIN sales_order_item AS items ON items.order_id = orders.entity_id;
- - name: MYSQLSalesOrderByCategory
- run: SELECT items.name AS Category, AVG(orders.grand_total) AS 'average_order_total' FROM sales_order AS orders JOIN sales_order_item AS items ON items.order_id = orders.entity_id GROUP BY items.name;
- - name: MYSQLSalesOrderByRegion
- run: SELECT soa.country_id, soa.region_id, dcrn.name 'Region Name', so.entity_id AS 'Order ID', so.grand_total FROM sales_order_address soa JOIN directory_country_region_name dcrn JOIN sales_order so WHERE soa.region_id = dcrn.region_id AND so.entity_id = soa.parent_id;
- - name: MYSQLSalesOrderByCustomer
- run: SELECT so.customer_id, ce.email, AVG(so.grand_total) AS 'average_grand_total' FROM sales_order so JOIN customer_entity ce ON so.customer_id = ce.entity_id GROUP BY so.customer_id;
- - name: MYSQLMagentoDetails
- run: SELECT query_text, num_results FROM `search_query`;
- - name: MySQLSalesOrderPayment
- run: SELECT amount_ordered, shipping_amount, method, additional_information FROM sales_order_payment;
- custom_attributes: # can apply additional at a nested level
- attype: blocking-query
- host: CustomMagentoMySQL
- - name: MySQLSalesOrderPaymentCount
- run: SELECT count(*) as CountOfOrderByMethod, method as PaymentMethodType FROM `sales_order_payment` group by method;
- custom_attributes: # can apply additional at a nested level
- attype: blocking-query
- host: CustomMagentoMySQL
- - name: MySQLCustomerEntity
- run: SELECT email, created_at, is_active FROM customer_entity;
- - name: MYSQLAbandonedCarts
- run: SELECT customer_email, items_count AS 'Products', items_qty AS 'Quantity', subtotal, remote_ip, reserved_order_id FROM `quote` WHERE customer_email IS NOT NULL AND reserved_order_id IS NULL AND subtotal != 0.0000;
- - name: MYSQLCustomerEntityRegisteredUsers
- run: SELECT count(*) AS 'Registered Accounts' FROM `customer_entity`;
- - name: MYSQLUnregisteredCustomers
- run: SELECT customer_email FROM sales_order WHERE customer_is_guest = 1 GROUP BY customer_email;
- - name: MYSQLSalesOrderByUnregisteredCustomers2
- run: SELECT COUNT(entity_id) AS 'Total Order Ids', SUM(grand_total) AS 'Grand Total Sum' FROM sales_order WHERE customer_is_guest = 1;
- - name: MYSQLCustomerEntityActiveUsers
- run: SELECT count(is_active) AS 'Active Users' FROM `customer_entity` WHERE is_active = 1;
- - name: MYSQLReturningCustomers
- run: WITH ctel1 AS (SELECT COUNT(entity_id) AS 'numberOfOrders', customer_email AS 'customerEmail' FROM sales_order GROUP BY customer_email) SELECT count(*) AS 'returningCustomers' FROM ctel1 WHERE numberOfOrders > 1;
- - name: MYSQLNewCustomers
- run: SELECT COUNT(DISTINCT email) AS 'newCustomers' FROM customer_entity WHERE MONTH(created_at) >= MONTH(CURRENT_DATE() - INTERVAL 1 MONTH);
- - name: MYSQLLoginsPerDay
- run: SELECT DATE(last_visit_at) as 'Date', count(*) as 'Total Logins', count(DISTINCT customer_id) AS 'Number of Customers' FROM `customer_visitor` GROUP BY customer_id, DATE(last_visit_at);
- - name: MYSQLBestSellersDaily
- run: SELECT SUM(qty_ordered) as 'QuantityOrdered', product_name FROM sales_bestsellers_aggregated_daily GROUP BY product_id, product_name ORDER BY QuantityOrdered DESC;
- - name: MYSQLRevenuePerMonthAndYear
- run: SELECT SUM(grand_total) AS 'TotalRevenue', AVG(grand_total) AS 'AverageRevenue', YEAR(created_at) AS 'Year', MONTH(created_at) AS 'Month' FROM sales_order WHERE status = 'complete' GROUP BY YEAR(created_at), MONTH(created_at);
- - name: MYSQLMostViewedProductsDaily
- run: SELECT SUM(views_num) as 'viewCount', product_name FROM report_viewed_product_aggregated_daily GROUP BY product_name ORDER BY viewCount DESC;
- - name: MYSQLConversionRate
- run: WITH cte1 AS (SELECT soi.product_id AS 'SalesProductId', soi.name AS 'ProductName', COUNT(soi.order_id) AS 'totalOrders' FROM `sales_order_item` soi group by soi.product_id, soi.name), cte2 AS (SELECT viewed.product_id AS 'productId', COUNT(viewed.product_id) AS 'totalViews' FROM `report_viewed_product_index` viewed group by viewed.product_id) SELECT SalesProductId as 'productID', ProductName, totalViews,totalOrders,totalOrders/totalViews *100 as 'conversionRateInPercent' FROM cte1 JOIN cte2 WHERE cte1.SalesProductId = cte2.ProductId;
- - name: MYSQLTopTenSalesOrdersByValue
- run: SELECT entity_id AS 'orderId', total_item_count AS 'orderQuantity', created_at AS 'createdDate', grand_total AS 'grandTotal' FROM sales_order ORDER BY grand_total DESC LIMIT 10;
- - name: MYSQLOrdersAverage
- run: SELECT AVG(order_count) AS 'AverageNumberOfOrders', Year AS 'Year' FROM (SELECT YEAR(created_at) AS 'Year', COUNT(DISTINCT order_id) AS order_count FROM sales_order_item GROUP BY MONTH(created_at), YEAR(created_at)) subquery GROUP BY Year;
- - name: MYSQLProductsTotal
- run: SELECT count(*) AS 'Total Products' FROM catalog_product_entity_varchar WHERE attribute_id = 73;
- custom_attributes: # can apply additional at a nested level
- attype: blocking-query
- host: CustomMagentoMySQL
+ config:
+ name: MySQLDbFlex
+ apis:
+ - database: mysql
+ # connection string for an rds mysql instance. Be sure to use the writer endpoint here. /sys is the default database. newrelic:Password is the user:pass.
+ db_conn: newrelic:Root!123@tcp(localhost:3306)/magento2
+ logging:
+ open: true
+ # custom_attributes: # applies to all queries
+ # host: CustomMagentoMySQL # custom host name atribute
+ db_async: true # process queries async
+ db_queries:
+ - name: MySQLShowVars
+ run: SHOW VARIABLES;
+ custom_attributes: # can apply additional at a nested level
+ attype: show-vars
+ host: CustomMagentoMySQL
+ - name: MySQLShowStatus
+ run: SHOW STATUS LIKE 'Max%conn%';
+ custom_attributes: # can apply additional at a nested level
+ attype: used-conns
+ host: CustomMagentoMySQL
+ - name: MySQLCustomProcessList
+ run: SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST # grab all processes from MySQL
+ custom_attributes: # can apply additional at a nested level
+ attype: info-schema-query
+ host: CustomMagentoMySQL
+ - name: MYSQLSalesOrderDetails
+ run: SELECT grand_total, shipping_amount, subtotal, total_paid, discount_amount, store_currency_code, created_at, updated_at, customer_is_guest, tax_amount, customer_id, status, entity_id AS 'order_id' FROM sales_order;
+ - name: MySQLSalesOrderCumulative
+ run: SELECT AVG(grand_total) AS 'average_grand_total', SUM(grand_total) AS 'grand_total_sum', SUM(total_item_count) AS 'total_order_item_count' FROM sales_order;
+ custom_attributes: # can apply additional at a nested level
+ attype: blocking-query
+ host: CustomMagentoMySQL
+ - name: MySQLSalesOrderByStatus
+ run: SELECT status AS 'order_status', COUNT(increment_id) AS 'total_orders', (SUM(grand_total)) AS 'total_billed_amount_by_status' FROM sales_order GROUP BY status;
+ - name: MYSQLSalesOrderByCustomerGroup
+ run: SELECT SUM(salesOrder.grand_total) AS 'grand_total_sum_of_all_orders', AVG(salesOrder.grand_total) AS 'grand_total_average_of_all_orders', customerGroup.customer_group_code AS 'customer_group_code' FROM `sales_order` salesOrder JOIN `customer_group` customerGroup ON salesOrder.customer_group_id = customerGroup.customer_group_id GROUP BY salesOrder.customer_group_id;
+ - name: MYSQLSalesOrderByProduct
+ run: SELECT items.order_id AS 'Order ID', items.created_at AS 'Order Created Date', orders.status AS 'Order Status', items.name AS 'productName', items.sku AS ProductSearchcode, orders.total_item_count AS 'Order Quantity', orders.grand_total AS 'Grand Total' FROM sales_order AS orders JOIN sales_order_item AS items ON items.order_id = orders.entity_id;
+ - name: MYSQLSalesOrderByCategory
+ run: SELECT items.name AS Category, AVG(orders.grand_total) AS 'average_order_total' FROM sales_order AS orders JOIN sales_order_item AS items ON items.order_id = orders.entity_id GROUP BY items.name;
+ - name: MYSQLSalesOrderByRegion
+ run: SELECT soa.country_id, soa.region_id, dcrn.name 'Region Name', so.entity_id AS 'Order ID', so.grand_total FROM sales_order_address soa JOIN directory_country_region_name dcrn JOIN sales_order so WHERE soa.region_id = dcrn.region_id AND so.entity_id = soa.parent_id;
+ - name: MYSQLSalesOrderByCustomer
+ run: SELECT so.customer_id, ce.email, AVG(so.grand_total) AS 'average_grand_total' FROM sales_order so JOIN customer_entity ce ON so.customer_id = ce.entity_id GROUP BY so.customer_id;
+ - name: MYSQLMagentoDetails
+ run: SELECT query_text, num_results FROM `search_query`;
+ - name: MySQLSalesOrderPayment
+ run: SELECT amount_ordered, shipping_amount, method, additional_information FROM sales_order_payment;
+ custom_attributes: # can apply additional at a nested level
+ attype: blocking-query
+ host: CustomMagentoMySQL
+ - name: MySQLSalesOrderPaymentCount
+ run: SELECT count(*) as CountOfOrderByMethod, method as PaymentMethodType FROM `sales_order_payment` group by method;
+ custom_attributes: # can apply additional at a nested level
+ attype: blocking-query
+ host: CustomMagentoMySQL
+ - name: MySQLCustomerEntity
+ run: SELECT email, created_at, is_active FROM customer_entity;
+ - name: MYSQLAbandonedCarts
+ run: SELECT customer_email, items_count AS 'Products', items_qty AS 'Quantity', subtotal, remote_ip, reserved_order_id FROM `quote` WHERE customer_email IS NOT NULL AND reserved_order_id IS NULL AND subtotal != 0.0000;
+ - name: MYSQLCustomerEntityRegisteredUsers
+ run: SELECT count(*) AS 'Registered Accounts' FROM `customer_entity`;
+ - name: MYSQLUnregisteredCustomers
+ run: SELECT customer_email FROM sales_order WHERE customer_is_guest = 1 GROUP BY customer_email;
+ - name: MYSQLSalesOrderByUnregisteredCustomers2
+ run: SELECT COUNT(entity_id) AS 'Total Order Ids', SUM(grand_total) AS 'Grand Total Sum' FROM sales_order WHERE customer_is_guest = 1;
+ - name: MYSQLCustomerEntityActiveUsers
+ run: SELECT count(is_active) AS 'Active Users' FROM `customer_entity` WHERE is_active = 1;
+ - name: MYSQLReturningCustomers
+ run: WITH ctel1 AS (SELECT COUNT(entity_id) AS 'numberOfOrders', customer_email AS 'customerEmail' FROM sales_order GROUP BY customer_email) SELECT count(*) AS 'returningCustomers' FROM ctel1 WHERE numberOfOrders > 1;
+ - name: MYSQLNewCustomers
+ run: SELECT COUNT(DISTINCT email) AS 'newCustomers' FROM customer_entity WHERE MONTH(created_at) >= MONTH(CURRENT_DATE() - INTERVAL 1 MONTH);
+ - name: MYSQLLoginsPerDay
+ run: SELECT DATE(last_visit_at) as 'Date', count(*) as 'Total Logins', count(DISTINCT customer_id) AS 'Number of Customers' FROM `customer_visitor` GROUP BY customer_id, DATE(last_visit_at);
+ - name: MYSQLBestSellersDaily
+ run: SELECT SUM(qty_ordered) as 'QuantityOrdered', product_name FROM sales_bestsellers_aggregated_daily GROUP BY product_id, product_name ORDER BY QuantityOrdered DESC;
+ - name: MYSQLRevenuePerMonthAndYear
+ run: SELECT SUM(grand_total) AS 'TotalRevenue', AVG(grand_total) AS 'AverageRevenue', YEAR(created_at) AS 'Year', MONTH(created_at) AS 'Month' FROM sales_order WHERE status = 'complete' GROUP BY YEAR(created_at), MONTH(created_at);
+ - name: MYSQLMostViewedProductsDaily
+ run: SELECT SUM(views_num) as 'viewCount', product_name FROM report_viewed_product_aggregated_daily GROUP BY product_name ORDER BY viewCount DESC;
+ - name: MYSQLConversionRate
+ run: WITH cte1 AS (SELECT soi.product_id AS 'SalesProductId', soi.name AS 'ProductName', COUNT(soi.order_id) AS 'totalOrders' FROM `sales_order_item` soi group by soi.product_id, soi.name), cte2 AS (SELECT viewed.product_id AS 'productId', COUNT(viewed.product_id) AS 'totalViews' FROM `report_viewed_product_index` viewed group by viewed.product_id) SELECT SalesProductId as 'productID', ProductName, totalViews,totalOrders,totalOrders/totalViews *100 as 'conversionRateInPercent' FROM cte1 JOIN cte2 WHERE cte1.SalesProductId = cte2.ProductId;
+ - name: MYSQLTopTenSalesOrdersByValue
+ run: SELECT entity_id AS 'orderId', total_item_count AS 'orderQuantity', created_at AS 'createdDate', grand_total AS 'grandTotal' FROM sales_order ORDER BY grand_total DESC LIMIT 10;
+ - name: MYSQLOrdersAverage
+ run: SELECT AVG(order_count) AS 'AverageNumberOfOrders', Year AS 'Year' FROM (SELECT YEAR(created_at) AS 'Year', COUNT(DISTINCT order_id) AS order_count FROM sales_order_item GROUP BY MONTH(created_at), YEAR(created_at)) subquery GROUP BY Year;
+ - name: MYSQLProductsTotal
+ run: SELECT count(*) AS 'Total Products' FROM catalog_product_entity_varchar WHERE attribute_id = 73;
+ custom_attributes: # can apply additional at a nested level
+ attype: blocking-query
+ host: CustomMagentoMySQL
```
diff --git a/src/i18n/content/kr/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup.mdx b/src/i18n/content/kr/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup.mdx
index 8dd1aeec8e2..4c73f1356e3 100644
--- a/src/i18n/content/kr/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup.mdx
+++ b/src/i18n/content/kr/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup.mdx
@@ -4,276 +4,364 @@ metaDescription: Here are steps to enable and configure external services
translationType: machine
---
-외부 서비스 기능은 New Relic APM 에이전트 및 [OpenTelemetry](/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/introduction-opentelemetry-new-relic) 에 사용할 수 있습니다. 외부 서비스를 설정하는 단계를 수행한 후 데이터가 충분하지 않으면 [샘플링 속도](#adjust-sampling) 를 조정해야 할 수 있습니다.
-
-## APM 에이전트 [#externals-and-apm]
-
-이러한 단계는 주로 분산 추적을 기반으로 하는 확장된 외부 서비스 기능을 위한 것입니다.
-
-
- 기존 외부 서비스를 이미 사용 중인 에이전트 체인에 새 서비스를 추가해야 하는 경우 외부 서비스의 클래식 버전을 계속 사용할 수 있습니다. 클래식 외부 서비스를 설치하려면 아래 단계에서 분산 추적 대신 [교차 애플리케이션 추적](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces) 을 활성화합니다.
-
-
-외부 서비스에서 보려는 각 서비스에 대해 다음을 완료하십시오.
-
-1. 아직 설치하지 않았다면 적절한 New Relic APM [에이전트](/docs/distributed-tracing/enable-configure/quick-start) 를 설치하십시오.
-
-2. 에이전트에서 분산 추적이 켜져 있는지 확인합니다.
-
- * 새 에이전트를 설치한 경우 표준 분산 추적이 기본적으로 켜져 있습니다. 서비스가 무한 추적을 사용하는 다른 서비스와 통신하는 경우 무한 추적에 대한 도움말은 에이전트 설명서를 참조하십시오.
- * 이전 에이전트가 있는 경우 구성 단계에 따라 표준 분산 추적 또는 무한 추적을 활성화하십시오. 분산 추적을 활성화하면 이전 교차 애플리케이션 추적이 무시됩니다.
-
-3. 에이전트에 추가 설정 단계가 필요한지 확인하십시오.
-
-
-
-
-
- 에이전트
- |
-
-
- 최소 버전
- |
-
-
- 설정
- |
-
-
-
-
-
-
- 가다
- |
-
-
- 3.6.0
- |
-
-
- [`NewRoundTripper()`](/docs/apm/agents/go-agent/instrumentation/instrument-go-segments/) 사용에 대한 문서를 참조하세요.
- |
-
-
-
-
- 자바
- |
-
-
- 5.13.0
- |
-
-
- [Java 에이전트 API](/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-external-calls-messaging-datastore-web-frameworks/) 를 사용하여 외부 호출을 계측하는 방법에 대한 설명서를 참조하십시오.
- |
-
-
-
-
- .그물
- |
-
-
- 8.29.0
- |
-
-
- Azure의 .NET 에이전트와 .NET 에이전트는 외부 호출을 자동으로 계측하지만 트랜잭션에 대한 메서드는 계측하지 않습니다. 거래를 보려면 다음 조합을 사용해야 합니다.
-
- * [맞춤 거래](/docs/agents/net-agent/instrumentation/net-custom-transactions/)
- * [계측 작업자 역할](/docs/apm/agents/net-agent/azure-installation/install-net-agent-azure-cloud-services/#requirements)
- |
-
-
-
-
- 노드.js
- |
-
-
- 6.9.0
- |
-
-
- [Node.js 에이전트 API](/docs/apm/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api/#external-services) 사용에 대한 문서를 참조하십시오.
- |
-
-
-
-
- PHP
- |
-
-
- 9.12.0.268
- |
-
-
- [PHP 에이전트 API](/docs/apm/agents/php-agent/php-agent-api/guide-using-php-agent-api/#datastore) 를 사용하여 외부 호출을 계측하는 방법에 대한 설명서를 참조하십시오.
- |
-
-
-
-
- 파이썬
- |
-
-
- 5.14.0.142
- |
-
-
- 추가 단계가 필요하지 않습니다. 외부 호출은 자동으로 계측됩니다.
- |
-
-
-
-
- 루비
- |
-
-
- 6.12.0.367
- |
-
-
- [Ruby 에이전트 API](/docs/apm/agents/ruby-agent/api-guides/guide-using-ruby-agent-api/#externals) 를 사용하여 외부 호출을 계측하는 방법에 대한 설명서를 참조하세요.
- |
-
-
-
-
-## 오픈 텔레메트리 [#otel-setup]
-
-New Relic UI는 서비스에 대한 OpenTelemetry 계측 설정 단계와 다른 서비스에 대한 [호출](https://opentelemetry.io/docs/java/manual_instrumentation/#span-attributes) 을 완료하면 외부 서비스 세부 정보를 표시합니다. 외부 서비스 기능은 서비스 간의 호출을 각 서비스의 트랜잭션 엔드포인트별로 분류하여 표시합니다. 각 트랜잭션의 이름은 프로세스( `span.kind = "server"` )의 항목 범위에서 파생됩니다.
-
-APM 서비스가 OpenTelemetry 서비스(업스트림 또는 다운스트림)에 연결된 경우 해당 OpenTelemetry 서비스는 해당 APM 서비스의 보기에 표시되지 않습니다. 이는 APM 서비스를 볼 때 이 기능이 APM 에이전트에서만 보고하는 메트릭을 사용하기 때문입니다. OpenTelemetry 서비스를 볼 때 APM 서비스가 연결로 표시됩니다.
-
-표시되는 정보의 품질은 수집기에서 사용하는 샘플링 전략에 따라 다릅니다. 샘플링을 사용하여 UI에 표시되는 내용을 제어하는 방법에 대한 다음 섹션을 참조하세요.
-
-
- OpenTelemetry 데이터의 100%를 Trace API로 보내면 조직에 대한 특정 속도 제한이 없거나 기본 속도 제한을 트리거하기에 충분한 데이터를 보내지 않는 한 해당 데이터의 100%를 저장합니다.
-
-
-## 더 많은 UI 데이터를 보려면 샘플링을 조정하세요. [#adjust-sampling]
-
-APM 에이전트를 사용 중이고 맵의 초기 페이지 이상으로 드릴을 시작할 때 데이터가 거의 또는 전혀 표시되지 않는 경우 더 많은 데이터를 샘플링하기 위해 스팬 저수지를 조정해야 할 수 있습니다. 이는 트랜잭션 수준 데이터가 샘플링된 추적 데이터로 채워지기 때문입니다. OpenTelemetry의 경우 초기 페이지와 모든 드릴다운 페이지가 모두 샘플링된 데이터로 채워지므로 필요한 데이터를 얻으려면 샘플링을 약간 조정해야 할 수 있습니다.
-
-다음은 APM 에이전트의 저장소 조정을 위한 다양한 루틴과 OpenTelemetry의 샘플링 조정 팁에 대한 정보입니다. 샘플링 조정에 대한 추가 도움이 필요한 경우 다음 [지원 옵션을](https://docs.newrelic.com/docs/licenses/license-information/general-usage-licenses/global-technical-support-offerings/) 참조하십시오.
-
-### APM 에이전트 샘플링 [#sampling-agents]
-
-
- 이 단계는 클래식 외부 서비스에는 적용되지 않습니다.
-
-
-모든 APM 에이전트에는 스팬을 저장하는 저장소가 있으며 이러한 에이전트 저장소의 대부분은 구성 가능합니다. 이 저장소의 크기는 에이전트가 생성하는 모든 범위를 보낼 수 있는 가능성에 영향을 줍니다. 자세한 내용은 [조각난 추적](/docs/distributed-tracing/ui-data/understand-use-distributed-tracing-ui/#fragmented-traces) 을 참조하세요.
-
-이 기능에 대한 데이터는 한 서비스에서 다른 서비스로 외부 호출이 이루어지는 인접 클라이언트 및 서버 범위에서 파생됩니다. 에이전트가 스팬 저장소 제한에 도달하면 이러한 호출을 나타내는 일부 스팬을 삭제할 가능성이 있습니다.
-
-기본 에이전트 구성 값 2000은 에이전트가 분당 수집하는 최대 이벤트 수를 정의합니다. 이 수보다 더 많은 범위가 있는 경우 에이전트는 통계적 샘플링을 수집하여 기본적으로 외부 서비스 맵에서 사용되는 데이터의 양을 저하시킵니다.
-
-UI에 원하는 유형의 세부 정보가 표시되지 않으면 저수지의 크기를 최대 10,000까지 늘릴 수 있습니다. 에이전트 저장소를 조정하려면 다음을 검토하십시오.
-
-
-
-
-
- APM 에이전트
- |
-
-
- 선적 서류 비치
- |
-
-
-
-
-
-
- 가다
- |
-
-
- 저수지는 현재 구성할 수 없습니다
- |
-
-
-
-
- 자바
- |
-
-
- [자바 구성](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#cfg-span-events-max-samples-stored)
- |
-
-
-
-
- .그물
- |
-
-
- [.NET 구성](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#paragrp-max-samples-stored)
- |
-
-
-
-
- 노드.js
- |
-
-
- [Node.js 구성](/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/#span-events-max-samples-stored)
- |
-
-
-
-
- PHP
- |
-
-
- 저수지는 현재 구성할 수 없습니다
- |
-
-
-
-
- 파이썬
- |
-
-
- [Python 구성](/docs/apm/agents/python-agent/configuration/python-agent-configuration/#environment-variables) ( `NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED` 참조)
- |
-
-
-
-
- 루비
- |
-
-
- [루비 구성](/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/#span_events-max_samples_stored)
- |
-
-
-
-
-### OpenTelemetry 샘플링 [#otel-sampling]
-
-
- 이 섹션은 서비스가 OpenTelemetry Collector를 통해 New Relic에 데이터를 보내는 경우에만 적용됩니다. 데이터가 OpenTelemetry Collector에서 샘플링되지 않기 때문입니다.
-
-
-OpenTelemetry의 경우 모든 외부 서비스 보기가 샘플링된 추적으로 채워지므로 유용한 데이터가 충분하지 않을 수 있습니다. 이 문제를 해결하기 위해 수집기에서 샘플링을 변경하여 New Relic에 더 많은 데이터를 허용할 수 있습니다.
-
-구성에 대한 팁은 [샘플링](https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/opentelemetry-concepts/#sampling) 을 참조하십시오.
+외부 서비스 기능은 New Relic APM 에이전트 및 [OpenTelemetry](/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/introduction-opentelemetry-new-relic) 에서 사용할 수 있습니다.
+
+최대한 빨리 시작하고 실행하려면 APM 에이전트를 사용하는 것이 좋습니다.
+
+로고를 클릭하면 에이전트 설치 및 구성 과정을 안내하는 New Relic 플랫폼으로 이동됩니다.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 외부 서비스 설정
+
+다음 지침은 외부 서비스 설정 과정을 안내합니다.
+
+
+
+ ### 데이터 전송 시작
+
+ APM 에이전트를 사용하는지 아니면 OpenTelemetry를 사용하는지에 따라 외부 서비스 설정이 변경됩니다. 시스템에 적합한 설치 옵션 탭을 선택합니다.
+
+
+
+
+ APM 에이전트
+
+
+
+ 오픈 텔레메트리
+
+
+
+
+
+ 외부 서비스에서 보려는 각 서비스에 대해 다음을 완료하십시오.
+
+ 1. 아직 설치하지 않았다면 적절한 New Relic APM [에이전트](/docs/distributed-tracing/enable-configure/quick-start) 를 설치하십시오.
+
+ 2. 에이전트에서 분산 추적이 켜져 있는지 확인합니다.
+
+ * 새 에이전트를 설치한 경우 표준 분산 추적이 기본적으로 켜져 있습니다. 서비스가 무한 추적을 사용하는 다른 서비스와 통신하는 경우 무한 추적에 대한 도움말은 에이전트 설명서를 참조하십시오.
+ * 이전 에이전트가 있는 경우 구성 단계에 따라 표준 분산 추적 또는 무한 추적을 활성화하십시오. 분산 추적을 활성화하면 이전 교차 애플리케이션 추적이 무시됩니다.
+
+ 3. 에이전트에 추가 설정 단계가 필요한지 확인하십시오.
+
+
+
+
+
+ 에이전트
+ |
+
+
+ 최소 버전
+ |
+
+
+ 설정
+ |
+
+
+
+
+
+
+ 가다
+ |
+
+
+ 3.6.0
+ |
+
+
+ [`NewRoundTripper()`](/docs/apm/agents/go-agent/instrumentation/instrument-go-segments/) 사용에 대한 문서를 참조하세요.
+ |
+
+
+
+
+ 자바
+ |
+
+
+ 5.13.0
+ |
+
+
+ [Java 에이전트 API](/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-external-calls-messaging-datastore-web-frameworks/) 를 사용하여 외부 호출을 계측하는 방법에 대한 설명서를 참조하십시오.
+ |
+
+
+
+
+ .그물
+ |
+
+
+ 8.29.0
+ |
+
+
+ Azure의 .NET 에이전트와 .NET 에이전트는 외부 호출을 자동으로 계측하지만 트랜잭션에 대한 메서드는 계측하지 않습니다. 거래를 보려면 다음 조합을 사용해야 합니다.
+
+ * [맞춤 거래](/docs/agents/net-agent/instrumentation/net-custom-transactions/)
+ * [계측 작업자 역할](/docs/apm/agents/net-agent/azure-installation/install-net-agent-azure-cloud-services/#requirements)
+ |
+
+
+
+
+ 노드.js
+ |
+
+
+ 6.9.0
+ |
+
+
+ [Node.js 에이전트 API](/docs/apm/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api/#external-services) 사용에 대한 문서를 참조하십시오.
+ |
+
+
+
+
+ PHP
+ |
+
+
+ 9.12.0.268
+ |
+
+
+ [PHP 에이전트 API](/docs/apm/agents/php-agent/php-agent-api/guide-using-php-agent-api/#datastore) 를 사용하여 외부 호출을 계측하는 방법에 대한 설명서를 참조하십시오.
+ |
+
+
+
+
+ 파이썬
+ |
+
+
+ 5.14.0.142
+ |
+
+
+ 추가 단계가 필요하지 않습니다. 외부 호출은 자동으로 계측됩니다.
+ |
+
+
+
+
+ 루비
+ |
+
+
+ 6.12.0.367
+ |
+
+
+ [Ruby 에이전트 API](/docs/apm/agents/ruby-agent/api-guides/guide-using-ruby-agent-api/#externals) 를 사용하여 외부 호출을 계측하는 방법에 대한 설명서를 참조하세요.
+ |
+
+
+
+
+
+ 기존 외부 서비스를 이미 사용 중인 에이전트 체인에 새 서비스를 추가해야 하는 경우 외부 서비스의 클래식 버전을 계속 사용할 수 있습니다. 클래식 외부 서비스를 설치하려면 아래 단계에서 분산 추적 대신 [교차 애플리케이션 추적](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces) 을 활성화합니다.
+
+
+
+
+ New Relic UI는 서비스에 대한 OpenTelemetry 계측 설정 단계와 다른 서비스에 대한 [호출](https://opentelemetry.io/docs/java/manual_instrumentation/#span-attributes) 을 완료하면 외부 서비스 세부 정보를 표시합니다. 외부 서비스 기능은 서비스 간의 호출을 각 서비스의 트랜잭션 엔드포인트별로 분류하여 표시합니다. 각 트랜잭션의 이름은 프로세스( `span.kind = "server"` )의 항목 범위에서 파생됩니다.
+
+ APM 서비스가 OpenTelemetry 서비스(업스트림 또는 다운스트림)에 연결된 경우 해당 OpenTelemetry 서비스는 해당 APM 서비스의 보기에 표시되지 않습니다. 이는 APM 서비스를 볼 때 이 기능이 APM 에이전트에서만 보고하는 메트릭을 사용하기 때문입니다. OpenTelemetry 서비스를 볼 때 APM 서비스가 연결로 표시됩니다.
+
+ 표시되는 정보의 품질은 수집기에서 사용하는 샘플링 전략에 따라 다릅니다. 샘플링을 사용하여 UI에 표시되는 내용을 제어하는 방법에 대한 다음 섹션을 참조하세요.
+
+
+ OpenTelemetry 데이터의 100%를 Trace API로 보내면 조직에 대한 특정 속도 제한이 없거나 기본 속도 제한을 트리거하기에 충분한 데이터를 보내지 않는 한 해당 데이터의 100%를 저장합니다.
+
+
+
+
+
+
+
+ ### 더 많은 UI 데이터를 보려면 샘플링을 조정하세요. [#adjust-sampling]
+
+ APM 에이전트를 사용 중이고 지도의 초기 페이지 이상으로 드릴링을 시작할 때 데이터가 거의 또는 전혀 표시되지 않는 경우 더 많은 데이터를 샘플링하기 위해 범위 저장소를 조정해야 할 수도 있습니다. 이는 트랜잭션 수준 데이터가 샘플링된 추적 데이터로 채워지기 때문입니다.
+
+ OpenTelemetry의 경우 초기 페이지와 모든 드릴다운 페이지가 모두 샘플링된 데이터로 채워지므로 필요한 데이터를 얻으려면 샘플링을 일부 조정해야 할 수도 있습니다.
+
+ 다음은 APM 에이전트의 저장소를 조정하는 다양한 루틴에 대한 정보와 OpenTelemetry의 샘플링 조정에 대한 팁입니다.
+
+
+
+
+ APM 에이전트 샘플링
+
+
+
+ OpenTelemetry 샘플링
+
+
+
+
+
+ 모든 APM 에이전트에는 스팬을 저장하는 저장소가 있으며 이러한 에이전트 저장소의 대부분은 구성 가능합니다. 이 저장소의 크기는 에이전트가 생성하는 모든 범위를 보낼 수 있는 가능성에 영향을 줍니다. 자세한 내용은 [조각난 추적](/docs/distributed-tracing/ui-data/understand-use-distributed-tracing-ui/#fragmented-traces) 을 참조하세요.
+
+ 이 기능에 대한 데이터는 한 서비스에서 다른 서비스로 외부 호출이 이루어지는 인접 클라이언트 및 서버 범위에서 파생됩니다. 에이전트가 스팬 저장소 제한에 도달하면 이러한 호출을 나타내는 일부 스팬을 삭제할 가능성이 있습니다.
+
+ 기본 에이전트 구성 값 2000은 에이전트가 분당 수집하는 최대 이벤트 수를 정의합니다. 이 수보다 더 많은 범위가 있는 경우 에이전트는 통계적 샘플링을 수집하여 기본적으로 외부 서비스 맵에서 사용되는 데이터의 양을 저하시킵니다.
+
+ UI에 원하는 유형의 세부 정보가 표시되지 않으면 저수지의 크기를 최대 10,000까지 늘릴 수 있습니다. 에이전트 저장소를 조정하려면 다음을 검토하십시오.
+
+
+
+
+
+ APM 에이전트
+ |
+
+
+ 선적 서류 비치
+ |
+
+
+
+
+
+
+ 가다
+ |
+
+
+ 저수지는 현재 구성할 수 없습니다
+ |
+
+
+
+
+ 자바
+ |
+
+
+ [자바 구성](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#cfg-span-events-max-samples-stored)
+ |
+
+
+
+
+ .그물
+ |
+
+
+ [.NET 구성](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#paragrp-max-samples-stored)
+ |
+
+
+
+
+ 노드.js
+ |
+
+
+ [Node.js 구성](/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/#span-events-max-samples-stored)
+ |
+
+
+
+
+ PHP
+ |
+
+
+ 저수지는 현재 구성할 수 없습니다
+ |
+
+
+
+
+ 파이썬
+ |
+
+
+ [Python 구성](/docs/apm/agents/python-agent/configuration/python-agent-configuration/#environment-variables) ( `NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED` 참조)
+ |
+
+
+
+
+ 루비
+ |
+
+
+ [루비 구성](/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/#span_events-max_samples_stored)
+ |
+
+
+
+
+
+
+
+ 이 섹션은 서비스가 OpenTelemetry Collector를 통해 New Relic에 데이터를 보내는 경우에만 적용됩니다. 데이터가 OpenTelemetry Collector에서 샘플링되지 않기 때문입니다.
+
+
+ OpenTelemetry의 경우 모든 외부 서비스 보기가 샘플링된 추적으로 채워지므로 유용한 데이터가 충분하지 않을 수 있습니다. 이 문제를 해결하기 위해 수집기에서 샘플링을 변경하여 New Relic에 더 많은 데이터를 허용할 수 있습니다.
+
+ 구성에 대한 팁은 [샘플링](https://docs.newrelic.com/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/opentelemetry-concepts/#sampling) 을 참조하십시오.
+
+
+
+
+
## 다음은 뭐지? [#next]
-UI를 이해하는 방법에 대한 질문이 있는 경우 [도움말](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-ui) 을 참조하세요.
\ No newline at end of file
+* 외부 서비스를 사용하여 [API 문제를 해결하는](/docs/tutorial-external-services/respond-external)방법 알아보기
+* [외부 서비스 UI 탐색](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-ui) 에 대해 자세히 알아보세요.
+* UI를 이해하는 방법에 대한 질문이 있는 경우 [도움말](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-ui) 을 참조하세요.
\ No newline at end of file
diff --git a/src/i18n/content/kr/docs/codestream/codestream-integrations/msteams-integration.mdx b/src/i18n/content/kr/docs/codestream/codestream-integrations/msteams-integration.mdx
index a308e971947..2ef3cd742ab 100644
--- a/src/i18n/content/kr/docs/codestream/codestream-integrations/msteams-integration.mdx
+++ b/src/i18n/content/kr/docs/codestream/codestream-integrations/msteams-integration.mdx
@@ -6,6 +6,8 @@ translationType: machine
import codestreamMsteamsCodestreamAppPage from 'images/codestream_screenshot-crop_msteams-codestream-app-page.webp'
+import codestreamMsteamsConnect from 'images/codestream_screenshot-connect-msteams.webp'
+
import codestreamMsteamsCodestreamBotWelcome from 'images/codestream_screenshot-crop_msteams-welcome.webp'
import codestreamMsteamsTokenExample from 'images/codestream_screenshot-crop_msteams-token-example.webp'
@@ -18,51 +20,70 @@ import codestreamMsteamsCodestreamSelectChannel from 'images/codestream_screensh
import codestreamMsteamsExampleCodestreamMessage from 'images/codestream_screenshot-crop_msteams-example-codestream-message.webp'
-New Relic CodeStream을 Microsoft Teams 채널에 연결하세요.
+New Relic CodeStream을 Microsoft Teams 조직에 연결하세요.
-코드마크를 게시하면 팀원들에게 활동 피드와 이메일을 통해 알림이 전송됩니다. 그러나 때로는 Microsoft Teams에도 공유하고 싶을 수 있습니다. 이렇게 하면 아직 CodeStream에 가입하지 않았거나 IDE에서 많은 시간을 보내지 않은 사람들에게 다가갈 수 있습니다.
+댓글이나 문제를 게시하면 팀원은 활동 피드를 통해 알림을 받게 되며 이메일을 통해 알림을 받을 수도 있습니다. 하지만 때로는 Microsoft Teams에도 공유하고 싶을 수도 있습니다. 이를 통해 아직 CodeStream에 가입하지 않았거나 IDE에서 많은 시간을 보내지 않는 사람들에게 다가갈 수 있습니다.
## Microsoft 팀에 연결 [#connect]
-1. [여기를 클릭하여 CodeStream 앱을 설치](https://teams.microsoft.com/l/app/7cf49ab7-8b65-4407-b494-f02b525eef2b?source=store-copy-link) 하거나 Microsoft Teams 사이드바에서 앱으로 이동하여 CodeStream을 검색하십시오.
-
-2. 설치되면 CodeStream 앱에 대한 다음 팝업이 표시되고 **Add**\[추가] 버튼을 클릭합니다. 확장하지 말고 옵션을 선택하여 팀 또는 채팅에 추가하십시오. 추가를 클릭하기만 하면 됩니다.
-
-
-
-3. 이렇게 하면 CodeStream 봇과의 비공개 채팅으로 이동하고 Teams 사이드바에 CodeStream 로고가 표시됩니다. 봇의 환영 메시지에서 **Sign In**\[로그인] 버튼을 클릭하거나 이 채팅에 `signin` 입력하고 제출합니다.
-
-
-
-4. 웹으로 이동하고 CodeStream에 로그인하라는 메시지가 표시됩니다.
+1. CodeStream의 사용자 이름 메뉴 아래 **Integrations** \[통합] 페이지로 이동하여 **Microsoft Teams** 버튼을 클릭합니다.
+2. 표시된 로그인 코드를 복사한 후 **Connect to Teams** \[Teams에 연결] 버튼을 클릭하세요.
-5. 로그인하면 MS Teams에서 CodeStream 봇과의 채팅에 복사하여 붙여넣는 데 필요한 토큰이 제공됩니다.
-
-6. 토큰을 채팅에 붙여넣고 제출합니다.
+
-
+3. CodeStream 앱에 대한 다음 팝업이 표시되는 Teams로 이동됩니다. **Add** \[추가] 버튼을 클릭하세요. 참고, 확장하지 말고 팀이나 채팅에 추가할 옵션을 선택하세요. 추가를 클릭하면 됩니다.
- 토큰을 채팅에 직접 추가합니다.
+
-7. 공유할 채널로 이동하고 `@`입력한 다음 팝업에서 **Get bots**\[봇 가져오기를] 선택합니다.
+4. 그러면 CodeStream 봇과의 비공개 채팅으로 이동하고 Teams 사이드바에 CodeStream 로고가 표시됩니다. 봇의 환영 메시지에서 **Sign In** \[로그인] 버튼을 클릭하거나 이 채팅에 `signin` 입력하고 제출하세요.
-
+
-8. 목록에서 CodeStream 봇을 선택하고(필요한 경우 검색할 수 있음) **추가** 를 클릭합니다.
+5. 로그인 토큰을 팝업에 붙여넣은 다음 **Sign-in** \[로그인] 버튼을 클릭하세요.
-9. 채널로 돌아가서 `connect` 명령으로 CodeStream 봇을 @멘션합니다. 공유하려는 모든 채널에서 이 작업을 반복합니다.
+
-
+6. 공유하려는 채널로 이동하여 `@` 입력한 다음 팝업에서 **Get bots** \[봇 가져오기를] 선택합니다.
- 이 명령을 사용하여 봇을 연결합니다.
+
-10. 확인을 받으면 CodeStream에서 Teams로 공유할 준비가 된 것입니다.
+7. 목록에서 CodeStream 봇을 선택하고(필요한 경우 검색할 수 있음) **추가** 를 클릭합니다.
+8. 채널로 돌아가서 `connect` 명령을 사용하여 CodeStream 봇을 @mention합니다. 공유하려는 모든 채널에서 이 작업을 반복하세요.
-11. CodeStream으로 돌아가면 이제 방금 연결한 채널에 공유할 수 있습니다.
+
-
+9. 확인을 받으면 CodeStream에서 Teams로 공유할 준비가 된 것입니다.
+10. 이제 CodeStream으로 돌아가면 방금 연결한 채널을 공유할 수 있습니다.
- IDE에서 공유할 채널을 선택합니다.
+
## Microsoft Teams의 CodeStream에 참여 [#participate]
@@ -74,10 +95,6 @@ Microsoft Teams에 공유하면 코드마크에 대해 팀원들에게 알릴
src={codestreamMsteamsExampleCodestreamMessage}
/>
-
- 그러면 지정된 IDE에서 코드마크가 열립니다.
-
-
### IDE에서 열기 [#open-ide]
IDE에서 **열기를 클릭하면 IDE** 내에서 바로 코드와 토론을 볼 수 있습니다. 어떤 IDE를 열지 선택할 수 있는 CodeStream 웹 페이지로 이동합니다. CodeStream은 다음에 동일한 리포지토리에서 토론을 볼 때 선택 항목을 기억합니다. 그런 다음 IDE의 적절한 소스 파일로 이동하고 관련 코드 블록으로 스크롤되며 CodeStream 창에 토론이 표시됩니다. IDE에서 해당 리포지토리를 열지 않은 경우 CodeStream이 자동으로 소스 파일을 엽니다(이전에 CodeStream이 설치된 리포지토리를 열어서 찾을 위치를 알고 있다고 가정).
diff --git a/src/i18n/content/kr/docs/codestream/codestream-integrations/notifications.mdx b/src/i18n/content/kr/docs/codestream/codestream-integrations/notifications.mdx
index 7da1f8d7a44..9db40803502 100644
--- a/src/i18n/content/kr/docs/codestream/codestream-integrations/notifications.mdx
+++ b/src/i18n/content/kr/docs/codestream/codestream-integrations/notifications.mdx
@@ -8,13 +8,13 @@ import codestreamCodestreamDesktopNotification from 'images/codestream_screensho
import codestreamCodestreamPullRequestNotification from 'images/codestream_screenshot-crop_codestream-pull-request-notification.webp'
-New Relic CodeStream은 팔로우하는 코드마크 및 피드백 요청에 대해 알려줍니다. CodeStream 창 상단의 사용자 프로필 메뉴에서 **알림** 옵션을 찾습니다.
+CodeStream은 귀하가 팔로우하는 의견과 문제에 대해 알려드립니다. CodeStream 창 상단에 있는 사용자 프로필 메뉴에서 **Notifications** \[알림] 옵션을 찾으세요.
-## 코드마크 및 피드백 요청에 대한 알림 [#codemarksandFRs]
+## 댓글 및 이슈에 대한 알림 [#codemarksandFRs]
-기본적으로 귀하는 귀하가 생성한 모든 코드마크 또는 피드백 요청을 자동으로 따르도록 설정되어 있으며(원본 게시물 또는 후속 답변에서) 귀하가 언급되었거나 귀하가 응답한 곳입니다. 줄임표 메뉴를 통해 개별 코드마크 또는 피드백 요청을 팔로우하거나 팔로우 해제하도록 언제든지 선택할 수 있습니다.
+기본적으로 귀하는 귀하가 작성한 댓글이나 문제, 귀하가 언급된 곳(원본 게시물 또는 후속 답글에서) 또는 귀하가 답변한 모든 댓글이나 문제를 자동으로 팔로우하도록 설정되어 있습니다. 줄임표 메뉴를 통해 언제든지 개별 댓글이나 문제를 팔로우하거나 팔로우 해제하도록 선택할 수 있습니다.
-이메일, 데스크톱 또는 둘 다를 통해 알림을 받을지 여부를 선택할 수 있습니다. 이메일 알림은 즉시 발송되며, 이메일 회신을 통해 토론에 참여할 수 있습니다. 귀하의 회신은 적절한 코드마크 또는 피드백 요청에 대한 회신으로 CodeStream에 추가됩니다. 답장을 보낼 때 알림이 전송된 동일한 이메일 주소(즉, CodeStream의 **내 조직** 에 나열된 이메일 주소)에서 답장을 보내야 합니다.
+이메일, 데스크톱 또는 둘 다를 통해 알림을 받을지 여부를 선택할 수 있습니다. 이메일 알림은 즉시 발송되며, 이메일에 회신하여 토론에 참여할 수 있습니다. 귀하의 답변은 적절한 의견이나 문제에 대한 답변으로 CodeStream에 추가됩니다. 회신할 때는 알림을 보낸 것과 동일한 이메일 주소(즉, CodeStream의 **Profile** \[프로필] 에 표시된 이메일 주소)에서 회신해야 합니다.
IDE의 바탕 화면 알림은 VS Code 또는 JetBrains IDE를 사용하는 경우에만 사용할 수 있습니다.
@@ -32,7 +32,6 @@ IDE의 바탕 화면 알림은 VS Code 또는 JetBrains IDE를 사용하는 경
CodeStream은 다음과 같은 이메일 알림도 제공합니다.
-* **미해결 피드백 요청에 대한 이메일 알림 보내기** : 지난 24시간 동안 응답하지 않은 열려 있는 피드백 요청에 대한 이메일 알림을 받습니다.
* **내 활동을 요약한 주간 이메일 보내기** : 매주 월요일에 귀하와 귀하의 조직의 지난 주 활동에 대한 정보를 보냅니다.
## 추가 바탕 화면 알림 [#additionaldesktop]
@@ -40,14 +39,6 @@ CodeStream은 다음과 같은 이메일 알림도 제공합니다.
CodeStream은 다음과 같은 데스크톱 알림도 제공합니다.
* **Notify me about performance issues** \[성능 문제에 대해 알림]: 성능이 좋지 않은 코드의 새 메서드는 코드 수준 [메트릭 이상 탐지를](/docs/codestream/how-use-codestream/performance-monitoriing#clm-anomalies) 기반으로 토스트 알림을 트리거합니다. IDE에 여러 리포지토리가 열려 있거나 해당 리포지토리와 연결된 여러 서비스가 있는 경우 성능이 비정상적인 첫 번째 방법에 대한 알림만 받게 됩니다. 전체 목록을 보려면 **Observability** 섹션의 **Code-Level Metrics**를 확인하십시오.
-* **풀 때 팀원의 검토되지 않은 새 커밋에 대해 알림: 풀 때** 마다 현재 분기에 팀원의 새 커밋이 있으면 알림을 받게 됩니다. **검토** 버튼을 클릭하여 팀원의 변경 사항 검토를 시작하고 피드백을 제공하세요.
-* **나에게 할당된 풀 요청에 대해 알림** : CodeStream의 [풀 요청 통합](/docs/codestream/how-use-codestream/pull-requests) 을 활용하기 위해 GitHub, GitHub Enterprise, GitLab 또는 GitLab Self-Managed에 연결한 경우 풀 요청이 사용자에게 할당되거나 리뷰어로 추가되었습니다.
-
-
변경 사항을 검토할 수 있는 IDE에서 바로 풀 리퀘스트를 열려면 **열기** 버튼을 클릭하십시오.
diff --git a/src/i18n/content/kr/docs/codestream/codestream-settings/team-administration.mdx b/src/i18n/content/kr/docs/codestream/codestream-settings/team-administration.mdx
index 42f5ed4b9dd..88828613675 100644
--- a/src/i18n/content/kr/docs/codestream/codestream-settings/team-administration.mdx
+++ b/src/i18n/content/kr/docs/codestream/codestream-settings/team-administration.mdx
@@ -62,7 +62,7 @@ New Relic CodeStream은 New Relic 계정이 있든 없든 조직의 팀원을
## 조직 설정 [#organization-settings]
-관리자인 경우 CodeStream 창 상단의 헤드샷 메뉴 아래에 있는 **조직 관리자** 메뉴를 사용하여 조직의 이름을 변경하고, [온보딩](#onboarding) 및 [피드백 요청](#feedback-request) 설정을 관리하고, [데이터를 내보내](#export) 거나, 조직을 삭제할 수 있습니다.
+관리자인 경우 CodeStream 창 상단에 있는 사용자 이름 메뉴 아래의 **Organization Admi** \[조직 관리] 메뉴를 사용하여 조직 이름 변경, [온보딩](#onboarding) 설정 관리, [데이터 내보내기](#export) 또는 조직 삭제를 수행할 수 있습니다.
-
-
- 피드백 요청 설정을 사용하여 조직의 피드백 프로세스를 미세 조정합니다.
-
-
-기본적으로 피드백을 요청하는 사람이 승인 작동 방식을 결정할 수 있지만 대신 조직에 대한 모든 피드백 요청에 대한 기본 동작을 설정할 수 있습니다.
-
-* **모든 검토자가 승인할 수 있음** : 할당된 검토자의 수에 관계없이 누구나 피드백 요청을 승인할 수 있습니다.
-* **모든 검토자는** 개별적으로 승인해야 함: 할당된 각 검토자는 피드백 요청을 개별적으로 승인해야 승인된 것으로 간주됩니다.
-
-CodeStream이 검토자를 제안하는지 여부와 방법을 결정할 수도 있습니다. **라운드 로빈** 은 조직의 모든 개발자를 순환합니다. **Random** 은 조직의 모든 개발자에게 피드백 요청을 무작위로 할당합니다. **Authorship** 옵션은 변경 사항의 영향을 받는 코드 라인을 작성한 개발자와 해당 분기에 커밋했을 수 있는 다른 개발자를 기준으로 최대 3명의 검토자를 제안합니다.
-
### 데이터 내보내기 [#export]
CodeStream에서 조직의 토론을 가져오기 위한 간단한 내보내기 도구가 있습니다.
\ No newline at end of file
diff --git a/src/i18n/content/kr/docs/codestream/how-use-codestream/discuss-code.mdx b/src/i18n/content/kr/docs/codestream/how-use-codestream/discuss-code.mdx
index dd598c36b5f..c86cf5d82dd 100644
--- a/src/i18n/content/kr/docs/codestream/how-use-codestream/discuss-code.mdx
+++ b/src/i18n/content/kr/docs/codestream/how-use-codestream/discuss-code.mdx
@@ -72,66 +72,6 @@ import codestreamCodemarkGetPermalinkButton from 'images/codestream_screenshot-c
시간이 지남에 따라 파일이 변경되더라도 코드마크는 코드에 연결된 상태로 유지됩니다. 코드 블록 위에 새로운 코드 줄을 추가하거나 코드를 수정하거나 전체 블록을 잘라내어 파일의 다른 섹션에 붙여 넣으면 변경 사항과 함께 코드마크가 움직이는 것을 볼 수 있습니다.
-다음은 팀이 코드마크를 사용하여 IDE의 코드에서 공동 작업하는 방법을 보여주는 짧은 비디오(3분 15분)입니다.
-
-
-
-## 코드마크 개요 [#codemark-overview]
-
-CodeStream 창의 코드마크 섹션에는 쉽게 참조할 수 있도록 현재 리포지토리에 있는 모든 코드마크가 나열됩니다.
-
-
-
-
- 다른 섹션과 색상은 상태(열림, 해결 또는 보관됨)에 따라 코드마크를 구분합니다.
-
-
-코드마크 섹션에서 항목을 클릭하여 세부 정보 및 토론을 검토하십시오. pull-request 댓글을 제외하고 오른쪽의 거품은 응답 수를 보여줍니다.
-
-기본적으로 현재 저장소의 모든 코드마크가 표시되지만 필터를 변경하여 현재 분기의 모든 코드마크, 현재 폴더의 코드마크 또는 현재 선택한 파일의 코드마크를 표시할 수 있습니다.
-
-피드백 및 끌어오기 요청의 코드마크는 현재 파일 필터를 선택한 경우에만 나타납니다.
-
-
-
-코드마크 섹션 머리글 위로 마우스를 가져가면 오른쪽에 다음 아이콘이 나타납니다.
-
-
-
-codemarks 헤더에는 코드 주석 또는 문제를 생성하는 옵션이 포함되어 있습니다. 목록 대신 공간 보기에서 코드마크를 보도록 선택할 수도 있습니다. 토론은 참조하는 코드 블록과 함께 표시되며 소스 파일을 스크롤하면 토론도 함께 스크롤됩니다.
-
-
-
-
- 공간 보기는 작업하려는 파일 섹션의 코드마크를 검토하는 좋은 방법입니다.
-
-
-목록을 더 많이 제어하려면 톱니바퀴 아이콘을 클릭하세요.
-
-* **여러 줄 주석 줄 바꿈** : 코드마크의 잘린 부분을 표시하는 대신 목록에 전체 게시물이 표시됩니다.
-* **태그 표시** : 적용 가능한 모든 태그가 각 코드마크와 함께 표시됩니다.
-* **주석 정렬** 기준: 기본적으로 코드마크는 날짜순으로 정렬되지만 필터가 현재 파일로 설정된 경우 줄 번호(예: 파일에서의 순서)로 정렬할 수 있습니다.
-* **편집기 여백에 아이콘 표시** : 코드마크 섹션의 목록에 표시되는 것 외에도 코드마크는 참조하는 코드 블록과 함께 편집기 여백에 아이콘으로 표시됩니다. 어떤 유형의 코드마크와 어떤 상태를 표시할 것인지 결정할 수 있습니다. 기본적으로 피드백 요청의 코드마크는 표시되지만 풀 요청 주석은 표시되지 않습니다. 해결된 코드마크도 기본적으로 표시되지만 보관된 코드마크는 표시되지 않습니다.
-
## 코드마크 생성 [#create]
코드마크를 생성하려면 편집기에서 코드 블록을 선택한 다음 선택 항목 옆에 있는 CodeStream 창에 나타나는 아이콘 중 하나를 클릭합니다.
@@ -142,7 +82,7 @@ codemarks 헤더에는 코드 주석 또는 문제를 생성하는 옵션이 포
src={codestreamVscodeDiscussCode}
/>
-IntelliJ와 같은 JetBrains IDE를 사용하는 경우 코드 블록을 선택할 때 편집기의 여백에 나타나는 **+** 버튼을 통해 코드마크를 생성할 수도 있습니다. diff를 볼 때 피드백 요청이나 끌어오기 요청에 대해 한 줄에 쉽게 댓글을 달 수 있도록 여백 위로 마우스를 가져가면 버튼도 나타납니다.
+IntelliJ와 같은 JetBrains IDE를 사용하는 경우 코드 블록을 선택할 때 편집기 여백에 나타나는 **+** 버튼을 통해 코드마크를 생성할 수도 있습니다.
-CodeStream 창이 닫혀 있거나 보이지 않는 경우에도 전구 또는 컨텍스트 메뉴의 CodeStream 옵션을 통해 코드마크를 생성할 수 있습니다.
-
-
-
-CodeStream 창 상단에서 **+** 메뉴를 찾을 수도 있습니다.
+CodeStream 창이 닫혀 있거나 보기에 없는 경우에도 전구 또는 상황에 맞는 메뉴의 CodeStream 옵션을 통해 코드 표시를 생성할 수 있습니다. CodeStream 창 상단에서 **+** 메뉴를 찾을 수도 있습니다.
IDE에서 많은 시간을 보내지 않는 팀원에게 연락해야 합니까? 아니면 아직 CodeStream에 없는 팀원이 있습니까? 선택적으로 코드마크를 Slack 또는 Microsoft Teams에 공유할 수 있습니다. Slack 통합을 통해 팀원들이 Slack에서 직접 응답할 수도 있습니다.
@@ -248,9 +180,7 @@ CodeStream을 사용하면 편집기에 방금 입력하고 아직 커밋하지
## 코드마크 해결 [#resolve]
-필수는 아니지만 주석 및 문제 코드마크를 모두 해결할 수 있습니다. [CodeStream](/docs/codestream/codestream-ui-overview/codemarks-section/) 창의 코드마크 섹션은 코드마크를 열린 섹션, 해결된 섹션 및 아카이브된 섹션으로 나눕니다. 녹색, 보라색 및 회색 아이콘은 이러한 다른 상태를 나타내는 데 사용됩니다. CodeStream 창에 열려 있는/녹색 코드마크가 많이 표시되면 팀원이 아직 해결되지 않은 토론 및 문제로 인해 차단되고 있음을 의미합니다.
-
-코드마크를 해결하는 동시에 주석을 추가할 수 있으며 동시에 코드마크를 보관할 수도 있습니다.
+필수는 아니지만 주석 및 문제 코드 표시를 모두 해결할 수 있습니다. 녹색, 보라색, 회색 아이콘은 각각 공개 코드, 해결 코드, 보관된 코드 표시를 나타내는 데 사용됩니다. 코드마크를 해결하는 동시에 설명을 추가할 수 있으며 동시에 코드마크를 보관할 수도 있습니다.
-
-* 코드를 보기 전에 CodeStream 인증이 필요한 비공개 영구 링크를 사용하여 퍼머링크를 퍼블릭으로 할지 프라이빗으로 할지 결정합니다.
-* 퍼머링크를 복사하여 코드 블록을 공유하고 싶은 곳에 붙여넣으세요.
-* 댓글, 문제 및 피드백 요청과 마찬가지로 누군가 영구 링크를 클릭할 때마다 웹을 통해 자동으로 IDE로 리디렉션되며, 소스 파일이 열리고 해당 코드 블록으로 스크롤됩니다.
\ No newline at end of file
+* **코드 마크 재배치** : 대부분의 경우 코드 마크는 시간이 지남에 따라 파일이 변경됨에 따라 참조하는 코드 블록에 자동으로 연결된 상태로 유지됩니다. 예를 들어 코드 블록을 잘라 파일의 다른 위치에 붙여넣으면 코드마크가 함께 이동합니다. 그러나 CodeStream이 자동으로 처리할 수 없는 몇 가지 시나리오가 있습니다. 예를 들어 코드 블록을 다른 파일에 붙여넣은 경우입니다. 이러한 경우 코드마크 **위치 변경** 을 통해 코드 블록의 새 위치를 선택하여 코드마크가 제대로 표시되도록 할 수 있습니다.
\ No newline at end of file
diff --git a/src/i18n/content/kr/docs/codestream/how-use-codestream/performance-monitoring.mdx b/src/i18n/content/kr/docs/codestream/how-use-codestream/performance-monitoring.mdx
index dbf1048b338..90aced54e56 100644
--- a/src/i18n/content/kr/docs/codestream/how-use-codestream/performance-monitoring.mdx
+++ b/src/i18n/content/kr/docs/codestream/how-use-codestream/performance-monitoring.mdx
@@ -272,14 +272,6 @@ CodeStream의 **Observability 섹션** 은 개발자가 현재 IDE에서 선택
CodeStream은 New Relic APM 에이전트가 계측한 각 메서드 위의 CodeLens에서 지난 30분 동안 평균 지속 시간과 오류율을 표시합니다. 지표는 CodeStream의 **Observability** 섹션에서 현재 선택된 서비스에 대해 계산됩니다. 다른 서비스를 확장하면 메트릭이 그에 따라 업데이트됩니다.
-코드 수준 지표는 CodeLense가 CodeStream에서 검토된 풀 요청 차이에 표시되어 코드 검토를 보다 데이터 기반으로 만드는 데 도움이 됩니다.
-
-
-
각 메트릭을 시각화하는 차트를 보려면 CodeLens를 클릭하십시오. 리포지토리가 여러 New Relic 모니터링 서비스와 연결되어 있는 경우 이들 간에 쉽게 전환할 수 있습니다. 이렇게 하면 차트와 편집기에 표시되는 코드 수준 메트릭이 기반으로 하는 서비스가 변경되고 **Observability** 섹션에서 서비스 선택 항목도 변경됩니다.
- 활동 피드는 팀 동료가 게시한 새 댓글, 문제 및 피드백 요청이나 기존 토론에 대한 새 답글에 대해 알아볼 수 있는 확실한 장소입니다. 활동 피드에 있지 않을 때 활동 피드 아이콘에서 배지를 찾아 새로운 것이 있는지 여부를 항상 알 수 있습니다. 흰색 점이 있는 파란색 배지는 새로운 토론이나 응답이 있음을 의미합니다.
+ 활동 피드는 팀원이 게시한 새로운 댓글과 문제 또는 기존 토론에 대한 새로운 답변을 확인할 수 있는 확실한 장소입니다. 활동 피드에 없을 때 활동 피드 아이콘에서 배지를 찾아 새로운 내용이 있는지 여부를 언제든지 알 수 있습니다. 흰색 점이 있는 파란색 배지는 새로운 토론이나 답변이 있음을 의미합니다.
-
- 내부에 숫자가 있는 파란색 배지는 내가 언급된 곳에 새로운 토론이나 답장이 있음을 의미합니다.
-
-
- IDE의 상태 표시줄에 있는 CodeStream 섹션은 또한 피드에 새 메시지가 있을 때 이를 알려줍니다. 사용자 이름 오른쪽에 있는 점은 새 메시지가 있음을 의미하고 숫자는 새 멘션이 있음을 의미합니다.
+ IDE 상태 표시줄에 있는 CodeStream 항목을 통해 피드에 새 메시지가 있는 시기도 알 수 있습니다. 사용자 이름 오른쪽에 있는 점은 새 메시지가 있음을 의미하고 숫자는 새 멘션이 있음을 의미합니다.
- 당사의 필터 및 검색 도구를 사용하면 조직의 의견, 문제 및 피드백 요청 모음을 적절하다고 생각하는 대로 분할할 수 있습니다. 기본적으로 귀하에게 할당된 모든 미해결 문제 또는 피드백 요청을 볼 수 있으며 그 뒤에 모든 미해결 문제 및 피드백 요청이 표시됩니다.
+ 당사의 필터 및 검색 도구를 사용하면 조직의 의견 및 문제 모음을 적절하다고 판단되는 방식으로 분류할 수 있습니다. 기본적으로 귀하에게 할당된 모든 미해결 문제와 모든 미해결 문제를 볼 수 있습니다.
- 필터 및 검색 도구를 사용하여 코드스트림 구성을 선택하고 특정 댓글, 문제 또는 피드백 요청을 찾습니다.
+ 필터 및 검색 도구를 사용하여 코드스트림 조직을 선택하고 특정 의견이나 문제를 찾으세요.
* 자세한 내용을 보려면 목록의 항목 위로 마우스를 가져갑니다.
@@ -196,7 +142,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 열려 있는 모든 의견, 문제 및 피드백 요청을 반환합니다.
+ 열려 있는 모든 댓글과 문제를 반환합니다.
|
@@ -210,16 +156,6 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
-
-
- `status:approved`
- |
-
-
- 승인된 모든 피드백 요청을 반환합니다.
- |
-
-
`type:issue`
@@ -240,23 +176,13 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
|
-
-
- `type:fr`
- |
-
-
- 모든 피드백 요청을 반환합니다.
- |
-
-
`is:`
|
- 위의 상태 및 유형 필터와 동일한 결과에 대해 `open` , `closed` , `approved` , `issue` , `comment` 또는 `fr` 를 사용하십시오.
+ 위의 상태 및 유형 필터와 동일한 결과를 얻으려면 `open`, `closed`, `issue` 또는 `comment` 를 사용하세요.
|
@@ -266,7 +192,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 귀하( `@me` ) 또는 팀원( `@username` )이 작성한 모든 의견, 문제 및 피드백 요청을 반환합니다.
+ 귀하(`@me`) 또는 팀원(`@username`)이 작성한 모든 댓글과 문제를 반환합니다.
|
@@ -276,17 +202,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 제목이나 설명에서 귀하( `@me` ) 또는 팀원( `@username` )이 언급된 모든 의견, 문제 및 피드백 요청을 반환합니다.
- |
-
-
-
-
- `impacts:@`
- |
-
-
- 귀하( `@me` ) 또는 팀원( `@username` )이 터치한 코드를 다루는 모든 피드백 요청을 반환합니다.
+ 귀하(`@me`) 또는 팀원(`@username`)이 제목이나 설명에 언급된 모든 댓글과 문제를 반환합니다.
|
@@ -296,17 +212,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 귀하( `@me` ) 또는 팀원( `@username` )에게 할당된 모든 문제 및 피드백 요청을 반환합니다.
- |
-
-
-
-
- `reviewer:@`
- |
-
-
- 귀하( `@me` ) 또는 팀원( `@username` )에게 할당된 모든 문제 및 피드백 요청을 반환합니다.
+ 귀하(`@me`) 또는 팀원(`@username`)에게 할당된 모든 문제를 반환합니다.
|
@@ -316,7 +222,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 특정 태그가 있는 모든 댓글, 문제 및 피드백 요청을 반환합니다. 여러 단어로 된 태그 주위에 따옴표를 사용합니다(예: `tag:"api server"` ). 여러 태그를 결합하여 AND 쿼리를 만들 수 있습니다. 예를 들어, `tag:blue tag:green` 은 파란색과 녹색 태그가 모두 있는 항목을 반환합니다.
+ 특정 태그가 포함된 모든 댓글과 이슈를 반환합니다. 여러 단어로 구성된 태그 주위에 따옴표를 사용하세요(예: `tag:"api server"`). 여러 태그를 결합하여 AND 쿼리를 생성할 수 있습니다. 예를 들어, `tag:blue tag:green` 파란색과 녹색 태그가 모두 있는 항목을 반환합니다.
|
@@ -326,7 +232,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 태그가 없는 모든 댓글, 문제 및 피드백 요청을 반환합니다.
+ 태그가 없는 모든 댓글과 이슈를 반환합니다.
|
@@ -336,7 +242,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 지정된 분기에 대해 생성된 모든 주석, 문제 및 피드백 요청을 반환합니다.
+ 지정된 브랜치에 대해 생성된 모든 댓글과 이슈를 반환합니다.
|
@@ -346,7 +252,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 지정된 커밋 ID를 가진 코드를 포함하는 모든 주석, 문제 및 피드백 요청을 반환합니다.
+ 지정된 커밋 ID가 있는 코드를 포함하는 모든 댓글과 문제를 반환합니다.
|
@@ -356,7 +262,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 지정된 리포지토리의 코드에 대해 생성된 모든 주석, 문제 및 피드백 요청을 반환합니다.
+ 지정된 리포지토리의 코드에 대해 생성된 모든 댓글과 이슈를 반환합니다.
|
@@ -366,7 +272,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 오늘 생성된 모든 댓글, 문제 및 피드백 요청을 반환합니다.
+ 오늘 생성된 모든 댓글과 이슈를 반환합니다.
|
@@ -376,7 +282,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 어제 생성된 모든 댓글, 문제 및 피드백 요청을 반환합니다.
+ 어제 생성된 모든 댓글과 이슈를 반환합니다.
|
@@ -386,7 +292,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 특정 날짜에 생성된 모든 댓글, 문제 및 피드백 요청을 반환합니다.
+ 특정 날짜에 생성된 모든 댓글과 이슈를 반환합니다.
|
@@ -396,7 +302,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 특정 날짜 이전에 생성된 모든 댓글, 문제 및 피드백 요청을 반환합니다.
+ 특정 날짜 이전에 생성된 모든 댓글과 이슈를 반환합니다.
|
@@ -406,7 +312,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 특정 날짜 이후에 생성된 모든 댓글, 문제 및 피드백 요청을 반환합니다.
+ 특정 날짜 이후에 생성된 모든 댓글과 이슈를 반환합니다.
|
@@ -416,7 +322,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 특정 날짜에 업데이트된 모든 의견, 문제 및 피드백 요청을 반환합니다.
+ 특정 날짜에 업데이트된 모든 댓글과 이슈를 반환합니다.
|
@@ -426,7 +332,7 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 특정 날짜 이전에 업데이트된 모든 의견, 문제 및 피드백 요청을 반환합니다.
+ 특정 날짜 이전에 업데이트된 모든 댓글과 이슈를 반환합니다.
|
@@ -436,35 +342,17 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
- 특정 날짜 이후에 업데이트된 모든 댓글, 문제 및 피드백 요청을 반환합니다.
+ 특정 날짜 이후에 업데이트된 모든 댓글과 이슈를 반환합니다.
|
-
-
- 다른 사람이 작성했거나 다른 사람이 수정한 코드로 작업하는 것이 일상적인 일이라는 것은 거의 불가피합니다. CodeStream은 편집기의 각 코드 줄 끝에 비난 정보를 표시하므로 해당 코드를 마지막으로 건드린 사람을 쉽게 찾을 수 있습니다.
-
-
-
- 인라인 주석 위로 마우스를 가져가면 작성자, 커밋, 관련 pull 요청 및 피드백 요청에 대한 자세한 정보를 볼 수 있습니다. 또한 주어진 코드 줄에 대한 토론이나 버그 보고를 신속하게 시작할 수 있습니다.
-
- GitLens 또는 GitToolBox 확장이 설치된 경우 비난 정보가 표시되지 않습니다. IDE 설정의 CodeStream 섹션에서 비난 호버를 끌 수도 있습니다.
-
## 키보드 단축키 [#keyboard-shortcuts]
-다음은 Windows/Linux 및 macOS용 New Relic CodeStream 키보드 단축키 표입니다.
+다음은 Windows/Linux 및 macOS용 CodeStream 키보드 단축키 표입니다.
@@ -484,76 +372,6 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
-
-
- 풀 리퀘스트 열기
- |
-
-
- `ctrl+shift+p`
- |
-
-
- `ctrl+p`
- |
-
-
-
-
- 병합 요청 열기
- |
-
-
- `ctrl+shift+m`
- |
-
-
- `ctrl+m`
- |
-
-
-
-
- 새로운 피드백 요청
- |
-
-
- `ctrl+shift+r`
- |
-
-
- `ctrl+r`
- |
-
-
-
-
- 검토 중인 다음 파일
- |
-
-
- `alt+F6`
- |
-
-
- `option+F6`
- |
-
-
-
-
- 검토 중인 이전 파일
- |
-
-
- `shift+alt+F6`
- |
-
-
- `shift+option+F6`
- |
-
-
새 댓글
@@ -582,34 +400,6 @@ import codestreamBlameHoverExample from 'images/codestream_screenshot-crop_blame
|
-
-
- 퍼머링크 받기
- |
-
-
- `ctrl+shift+l`
- |
-
-
- `ctrl+l`
- |
-
-
-
-
- 클립보드에 퍼머링크 복사
- |
-
-
- `ctrl+shift+l`
- |
-
-
- `ctrl+shift+l`
- |
-
-
CodeStream 창 전환
diff --git a/src/i18n/content/kr/docs/codestream/start-here/install-codestream.mdx b/src/i18n/content/kr/docs/codestream/start-here/install-codestream.mdx
index 6fa79e51ba7..99bf967c1dc 100644
--- a/src/i18n/content/kr/docs/codestream/start-here/install-codestream.mdx
+++ b/src/i18n/content/kr/docs/codestream/start-here/install-codestream.mdx
@@ -12,13 +12,7 @@ import codestreamCreateorJoinTeam from 'images/codestream_screenshot-crop_create
import codestreamInviteTeammates from 'images/codestream_screenshot-crop_invite-teammates.webp'
-New Relic CodeStream은 코드 호스트, 이슈 트래커, 메시징 서비스 및 관측 가능성 플랫폼인 New Relic과 같이 팀이 매일 사용하는 도구를 IDE에서 함께 제공하는 IDE 확장입니다. 이렇게 하면 IDE가 워크플로를 간소화하고 정보에 입각한 결정을 내리는 데 필요한 데이터를 제공하는 단일 창으로 바뀝니다.
-
-아직 [가입하지 않았다면 New Relic CodeStream을 최대한 활용할 수 있도록 무료 New Relic 계정에](https://newrelic.com/signup) 가입하십시오.
-
-## CodeStream 설치 [#install]
-
-특정 IDE용 CodeStream을 설치하거나 Instant Observability(I/O) 빠른 시작을 통해 설치할 수 있습니다.
+특정 IDE에 대한 CodeStream 확장을 설치할 수 있습니다.
@@ -68,6 +63,7 @@ CodeStream 확장이 IDE에 설치되면 CodeStream 창에서 등록 프로세
CodeStream에 가입하도록 초대를 받은 경우 가입하도록 초대받은 조직이 나열됩니다. 초대받지 않은 경우에도 기존 CodeStream 조직에 가입할 수 있습니다. 회사에 이미 CodeStream에 조직이 있는 경우 해당 조직의 관리자는 회사 도메인의 이메일 주소를 사용하는 모든 사람이 초대 없이 조직에 가입하도록 허용할 수 있습니다. 이 경우 가입하면 가입할 조직 목록이 표시됩니다.
@@ -79,6 +75,7 @@ CodeStream에 가입하도록 초대를 받은 경우 가입하도록 초대받
이제 CodeStream 조직의 일부가 되었으므로 마지막 단계는 팀 동료를 조직에 초대하여 함께 토론하고 코드를 검토할 수 있도록 하는 것입니다.
diff --git a/src/i18n/content/kr/docs/codestream/start-here/what-is-codestream.mdx b/src/i18n/content/kr/docs/codestream/start-here/what-is-codestream.mdx
index 2f3c2897968..409baa2fbf3 100644
--- a/src/i18n/content/kr/docs/codestream/start-here/what-is-codestream.mdx
+++ b/src/i18n/content/kr/docs/codestream/start-here/what-is-codestream.mdx
@@ -1,101 +1,61 @@
---
title: New Relic CodeStream 소개
-description: New Relic CodeStream을 사용하면 개발자가 거주하는 IDE에서 프로덕션 원격 측정 및 협업 도구에 액세스할 수 있습니다.
+description: 'New Relic CodeStream을 사용하면 개발자가 거주하는 곳, 즉 IDE에서 프로덕션 원격 측정에 액세스할 수 있습니다.'
signupBanner:
text: Monitor and improve your entire stack. 100GB free. Forever.
translationType: machine
---
-import codestreamDiscussCodeAnimation from 'images/codestream_screenshot-full_discuss-code-animation.gif'
-
-import codestreamFeedbackRequestAnimation from 'images/codestream_screenshot-full_feedback-request-animation.gif'
-
-import codestreamChangeFeedbackRequestAnimation from 'images/codestream_screenshot-full_change-feedback-request-animation.gif'
-
-import codestreamPullRequestCommentAnimation from 'images/codestream_screenshot-full_pull-request-comment-animation.gif'
+import codestreamVscClm from 'images/codestream_screenshot-marketplace-vsc-clm.webp'
import codestreamErrorCommentAnimation from 'images/codestream_screenshot-full_error-comment-animation.gif'
-import errorsinboxErrorsInboxOpenIde from 'images/errors-inbox_screenshot-full_errors-inbox-open-ide.webp'
+import codestreamVscSlt from 'images/codestream_screenshot-marketplace-vsc-slt.webp'
-New Relic CodeStream은 개발 팀이 자연스럽고 상황에 맞는 방식으로 코드를 논의하고 검토할 수 있도록 하는 개발자 협업 플랫폼입니다. CodeStream은 토론이 IDE의 컨텍스트에서 발생하도록 허용함으로써 토론을 더 쉽게 만들 뿐만 아니라 현재 Slack 채널 및 이메일에서 손실되고 있는 제도적 지식을 보존합니다.
-
-CodeStream은 개발 스프린트가 시작될 때 Jira 티켓을 가져오는 시점부터 pull 요청을 통한 코드 병합에 이르기까지 개발자의 워크플로를 지원합니다. 그리고 New Relic과의 통합으로 CodeStream은 그 이상으로 개발자가 자신이 담당하는 코드가 프로덕션 환경에서 어떻게 수행되고 있는지 확인할 수 있습니다.
+import codestreamDiscussCodeAnimation from 'images/codestream_screenshot-full_discuss-code-animation.gif'
-아직 [가입하지 않았다면 New Relic CodeStream을 최대한 활용할 수 있도록 무료 New Relic 계정에](https://newrelic.com/signup) 가입하십시오. 시작하는 데 도움이 필요하십니까? [codestream@newrelic.com](mailto:codestream@newrelic.com) 으로 저희에게 연락하십시오.
+New Relic CodeStream은 코드 성능, 코드 품질 및 코드 토론을 개발 프로세스의 초기 단계에 포함시켜 왼쪽으로 이동할 수 있게 해주는 IDE 확장입니다.
-## 프로덕션 환경에서 코드 성능 모니터링 [#performance-monitoring]
+* 성능이 낮은 메서드에 대한 알림을 포함하여 코드의 개별 메서드에 대한 성능 데이터를 가져옵니다.
+* 코드에서 구축된 서비스에 대해 오류, 취약점, 비준수 SLO 등 실행 가능한 정보를 얻으세요.
+* Slack 또는 Teams에 공유하는 옵션을 사용하여 모든 코드 블록에 대해 논의하거나 Jira, Trello 및 기타 여러 문제 추적기에서 티켓을 생성하세요.
-소프트웨어 품질 추구는 코드가 병합된 후에 끝나지 않습니다. 코드 수준 메트릭은 메서드 수준에서 코드가 어떻게 수행되고 있는지에 대한 포괄적이고 상시적인 보기를 제공합니다. 개발자는 원격 측정 데이터를 찾을 필요가 없습니다. 편집기에서 상황에 따라 바로 표시되기 때문입니다!
+## 코드 수준 측정항목
-
-
-또한 개발자는 IDE에서 바로 프로덕션 오류를 발견하여 코드 품질에 대해 보다 능동적으로 대처할 수 있습니다. 스택 추적을 탐색하여 문제가 되는 코드를 찾고 팀원과 협력하여 문제를 해결합니다. New Relic의 오류 받은 편지함에 있는 스택 추적 오류에서 IDE로 바로 이동할 수도 있습니다.
+편집기에서 바로 메소드 수준의 성능 데이터를 확인하세요. Always-On 보기는 성능 문제가 현재 작업에 고려되도록 보장합니다. 낮은 환경에 대한 지표를 확인하고 성능 문제가 프로덕션에 영향을 미치기 전에 예방할 수도 있습니다.
-IDE에 관찰 가능성을 가져와 [성능 모니터링](/docs/codestream/how-use-codestream/performance-monitoring) 에 대해 자세히 알아보십시오.
+## 오류 조사
-## Google 문서에 댓글을 달듯이 코드에 대해 토론하세요. [#discuss]
-
-코드 블록을 선택하고 질문이나 의견을 입력하기만 하면 됩니다. 팀원은 IDE에서 바로 토론에 참여할 수 있으며 선택적으로 Slack 또는 Microsoft Teams에서 토론을 공유하여 팀원이 채팅 클라이언트에서도 참여할 수 있습니다.
+자신이 담당하는 코드에서 발생하는 오류를 찾아보세요. CodeStream을 통해 스택 추적을 빠르게 진행하면 자동으로 올바른 파일과 줄 번호를 찾은 다음 관련 팀원을 토론에 참여시켜 가능한 한 빨리 문제를 해결할 수 있습니다.
-
- 일부 코드를 선택한 다음 주석 추가 버튼을 클릭합니다.
-
-
-CodeStream은 코드에 대한 모든 토론을 캡처하고 코드와 함께 저장하여 대화를 문서화합니다. 그리고 진짜 마법은 코드가 변경되면 심지어 브랜치 전체에 걸쳐 토론이 자동으로 재배치된다는 것입니다. 귀하의 노력 없이 모든 것이 가능합니다.
-
-## 사전 Pull Request 코드 검토를 통해 진행 중인 작업에 대한 피드백 받기 [#feedback]
+## 애플리케이션 성능 모니터링
-CodeStream의 간단한 피드백 요청을 사용하면 커밋, 푸시 또는 풀 요청을 발행하는 마찰 없이 리포지토리의 현재 상태에 관계없이 다른 사람이 변경 사항을 살펴보도록 할 수 있습니다.
+어떤 환경에서든 코드로 구축된 서비스가 어떻게 작동하는지 IDE 내에서 확인하세요. 골든 메트릭, 서비스 수준 목표 및 관련 서비스를 통해 한눈에 큰 그림을 볼 수 있습니다.
-
- 파일을 일부 변경한 후 **피드백 요청** 섹션에서 **+** 버튼을 클릭하여 해당 변경 사항에 대한 피드백을 요청합니다.
-
+## 단순화된 코드 토론
-팀원은 전체 파일 컨텍스트를 사용하여 IDE에서 바로 변경 사항을 검토할 수 있으며 분기를 전환하거나 최신 항목을 가져오기 위해 현재 작업을 따로 둘 필요가 없습니다.
+복사하여 붙여넣는 대신 편집기에서 코드를 선택하고 팀원이 IDE, 이메일 클라이언트 또는 Slack/Teams에서 참여할 수 있는 토론을 시작하세요. CodeStream은 현재 Slack 스레드 및 이메일 체인에서 손실되는 이러한 토론을 캡처하고 참조하는 코드와 함께 저장하여 팀을 위한 지식 기반을 자동으로 구축합니다. 팀의 미래 구성원을 포함하여 전체 팀은 주석이 달린 코드베이스에서 작업하는 이점을 얻습니다.
-
-
- 코드 주석을 사용하여 변경에 대한 피드백 요청에 응답합니다.
-
-
-CodeStream의 피드백 요청은 너무 쉬워서 끝날 때까지 기다리는 대신 개발 프로세스 전체에서 시작할 수 있습니다. 스프린트를 시작한 지 며칠 되었는데 일부 작업이 중단되었습니까? 아직 커밋되지 않은 작업이 있습니까? 진행 중인 작업에 대한 피드백을 요청하여 코드를 병합해야 할 때를 대비하여 문제를 저장하는 대신 조기에 문제를 식별하고 해결할 수 있습니다.
-
-## 풀 리퀘스트 생성 및 검토 [#prs]
-
-대부분의 개발 팀에서 개발 프로세스의 마지막 단계는 풀 리퀘스트입니다. 팀에서 CodeStream의 [피드백 요청](/docs/codestream/how-use-codestream/request-feedback) 을 주기 종료 PR 기반 코드 검토의 전조가 아니라 대체물로 사용하기로 결정한 경우에도 IDE 내에서 바로 pull 요청을 생성하고 검토할 수 있습니다.
-
-
-
-
- Datadog을 사용하여 로그를 모니터링하지만 New Relic의 모니터링 기능을 무료로 사용해 보고 싶습니까? 방법을 알아보려면 Datadog에서 마이그레이션하는 방법에 대한 [가이드를](/docs/tutorial-dd-migration/migrating-from-dd/) 참조하십시오.
-
\ No newline at end of file
+ title="How to discuss code in your IDE."
+ alt="An animated image showing how to discuss a selection of code."
+ src={codestreamDiscussCodeAnimation}
+/>
\ No newline at end of file
diff --git a/src/i18n/content/kr/docs/codestream/troubleshooting/github-org-repos.mdx b/src/i18n/content/kr/docs/codestream/troubleshooting/github-org-repos.mdx
index cfe7472bb28..7686d12e704 100644
--- a/src/i18n/content/kr/docs/codestream/troubleshooting/github-org-repos.mdx
+++ b/src/i18n/content/kr/docs/codestream/troubleshooting/github-org-repos.mdx
@@ -1,6 +1,6 @@
---
-title: 내 모든 GitHub 조직의 PR 및 문제가 CodeStream에 나열되지 않는 이유는 무엇입니까?
-metaDescription: How to make sure all of your GitHub organizations are listed in CodeStream.
+title: 내 모든 GitHub 조직의 리포지토리가 CodeStream에 나열되지 않는 이유는 무엇입니까?
+metaDescription: How to make sure all of your GitHub repositories are listed in CodeStream.
translationType: machine
---
@@ -8,7 +8,7 @@ import codestreamGithubAuthentication from 'images/codestream_screenshot-crop_gi
import codestreamGithubOauthApps from 'images/codestream_screenshot-crop_github-oauth-apps.webp'
-GitHub에 연결하면 CodeStream 창의 **끌어오기 요청** 섹션에 열려 있는 모든 끌어오기 요청과 **문제** 섹션에서 귀하에게 할당된 모든 문제가 표시되어야 합니다. GitHub 조직의 끌어오기 요청 또는 문제가 누락된 경우, 이는 사용자가 GitHub에 인증하고 모든 조직에 대한 액세스 권한을 부여하지 않았기 때문일 수 있습니다.
+GitHub에서 문제를 생성하려고 할 때 GitHub 조직의 리포지토리가 누락된 경우 GitHub로 인증할 때 모든 조직에 대한 액세스 권한을 부여하지 않았기 때문일 수 있습니다.
+
+## 목표 [#objective]
+
+이 튜토리얼 시리즈에서는 문제가 있는 API 상호 작용을 식별하는 방법과 New Relic 플랫폼을 사용하여 이를 해결하는 방법을 보여줍니다. 이 문서에서는 다음을 다룹니다.
+
+* New Relic을 애플리케이션과 통합하여 모니터링할 데이터 보내기
+* 외부 서비스 UI를 통해 문제가 있는 API 식별
+
+## New Relic 유물 통합 [#integrate]
+
+모니터링하거나 문제를 해결하려면 사용할 데이터를 수집하기 위한 에이전트를 설치해야 합니다.
+
+
+
+ ### APM 에이전트 설치
+
+ 애플리케이션의 성능을 모니터링하려면 앱 언어용으로 특별히 생성된 에이전트를 사용합니다. 로고를 클릭하면 에이전트 설치 및 구성을 안내하는 New Relic 플랫폼으로 이동합니다.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 에이전트를 설치했으면 **[one.newrelic.com](https://one.newrelic.com/nr1-core?filters=(domain%3D'APM'ANDtype%3D'APPLICATION'))** 으로 이동하여 앱을 선택합니다. 아직 많은 데이터가 표시되지 않으면 잠시 자리를 비우고 애플리케이션이 실행될 때 에이전트가 실시간 데이터를 수집하도록 하십시오.
+
+
+
+ ### 추가 설정
+
+ 특정 구성에는 추가 설정이 필요할 수 있습니다. 자세한 내용은 [외부 서비스 설정 문서를](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-setup/) 살펴보세요.
+
+ 위 문서의 추가 단계를 완료한 후 **[one.newrelic.com](https://one.newrelic.com/nr1-core?filters=(domain%3D'APM'ANDtype%3D'APPLICATION'))** > 앱 선택 > **External services** \[외부 서비스] 로 이동하세요.API 및 외부 서비스 흐름에 대한 데이터가 표시되어야 합니다.
+
+
+
+## 문제가 있는 API 식별
+
+이제 애플리케이션이 API 및 기타 외부 서비스와 상호 작용하는 방식을 추적할 수 있습니다. 해당 정보를 사용하여 문제를 일으키는 API 또는 외부 서비스를 식별해 보겠습니다.
+
+
+
+ ### 근본 원인을 생각해 보세요.
+
+ 문제가 있는 API나 서비스를 찾고 있다면 이미 해결할 준비가 된 문제가 있을 것입니다. 사용자가 구매를 할 수 없거나 사이트에 로그인할 수도 없습니다.
+
+ 애플리케이션은 수십 또는 수백 개의 API를 호출할 수 있습니다. 다음 단계를 계속하는 동안 근본 문제를 염두에 두십시오. 구매에 문제가 있다는 것을 알고 있다면 구매 및 거래 관련 API에 집중해야 합니다. 로그인 문제인 경우 사용자 데이터베이스 또는 외부 인증 서비스에 대한 호출에 집중할 수 있습니다.
+
+
+
+ ### 지도를 이용한 분류
+
+ 당신이 웹스토어를 운영하고 있는데 사용자들로부터 패키지가 도착했을 때 알림을 받지 못했다고 불평하는 이메일을 받았다고 가정해 보겠습니다. SMS와 이메일 알림을 모두 받았어야 했기 때문에 이것이 이상하다고 생각합니다.
+
+ 전체 배송 프로세스를 처리하는 서비스를 계측했습니다. **External services** \[외부 서비스] 페이지로 이동한 다음 **Maps** \[지도 를] 클릭합니다.
+
+
+
+ 이는 모든 자체 서비스와 외부 서비스 또는 API 간의 관계를 보여줍니다. 이 경우 분류에 관심이 있는 서비스는 `Delivery` 입니다. 이는 `Order-Composer` 이라는 다른 서비스에 의해 호출되며 오른쪽에서 볼 수 있듯이 4개의 다른 서비스와 API를 호출합니다.
+
+
+
+ ### 이상 징후 식별
+
+ 지도 보기에는 처리량과 응답 시간을 추적하는 데 유용한 몇 가지 차트가 표시될 뿐만 아니라 서비스와 호출하는 서비스 사이의 선의 두께와 색상을 통해 해당 측정항목을 시각적으로 나타냅니다.
+
+
+
+ `Delivery` 서비스와 해당 종속 항목 사이의 줄은 `Sms notification` 가리키는 줄을 제외하고 모두 상당히 유사해 보입니다. 실제로 SMS 서비스 위로 마우스를 가져가면 처리량이 나머지 종속성보다 훨씬 높다는 것을 알 수 있습니다.
+
+
+
+이제 `Sms notification` 가) 사용자 불만을 야기할 가능성이 있는 원인임을 확인했습니다. 이제 유력한 용의자를 식별했으므로 근본 문제를 해결할 수 있습니다.
+
+
\ No newline at end of file
diff --git a/src/i18n/content/kr/docs/tutorial-external-services/solve-external.mdx b/src/i18n/content/kr/docs/tutorial-external-services/solve-external.mdx
new file mode 100644
index 00000000000..095531b5232
--- /dev/null
+++ b/src/i18n/content/kr/docs/tutorial-external-services/solve-external.mdx
@@ -0,0 +1,86 @@
+---
+title: 외부 서비스 문제를 해결하세요
+metaDescription: Resolve the root cause of your API or external service problems
+translationType: machine
+---
+
+import apmPreview from 'images/apm_screenshot-crop_maps-preview.webp'
+
+import apmTrace from 'images/apm_screenshot-crop_maps-trace.webp'
+
+이제 주의가 필요한 API 또는 외부 서비스를 식별했습니다. 이 튜토리얼에서는 문제를 해결하는 데 필요한 단계를 안내합니다.
+
+API 및 외부 서비스 문제에 대한 단일 솔루션은 없습니다. 이 튜토리얼의 아이디어를 출발점으로 삼아 뭔가를 발견할 때마다 자세히 알아보세요.
+
+## 목표
+
+이 문서에서는 문제가 있는 API 또는 외부 서비스의 예로 [이전 튜토리얼 문서에서](docs/tutorial-external-services/respond-external) 식별한 외부 서비스인 `Sms notification` 을 사용합니다. 이 문서에서는 다음을 다룹니다.
+
+* 측정항목 차트에서 이상 항목 찾기
+* 추적을 사용하여 근본 원인 찾기
+
+## 근본 원인을 파악하고 해결하세요.
+
+이미 지도 보기를 사용하여 문제가 있는 외부 서비스를 식별했지만 이를 사용하여 더 자세히 알아볼 수 있습니다.
+
+
+
+ ### 측정항목으로 이상 징후 식별
+
+ 지도 보기에서 문제가 있는 API 또는 외부 서비스 위에 마우스를 놓고 **Show entity preview** \[항목 미리 보기 표시를] 선택합니다.
+
+
+
+ 그러면 서비스의 일반적인 상태에 대한 개요를 볼 수 있는 창이 열립니다. 이미 이러한 측정항목 중 일부를 사용하여 문제를 식별했지만 여기에서 자세히 살펴보는 것이 유용합니다. 다음 사항을 주의 깊게 살펴보세요.
+
+ * 차트의 스파이크.
+ * 확실히 응답률이나 처리량이 높습니다.
+ * 응답률과 처리량이 동시에 최고치와 최저치를 기록합니다.
+
+ 이상 현상을 식별한 경우 오른쪽 상단의 시간 선택기를 사용하여 보고 있는 시간 범위를 확장하세요. 이는 패턴이 아닌 이상 현상을 식별하는 데 유용합니다.
+
+ 위의 스크린샷에서 처리량이 예상보다 약간 높다는 점을 제외하면 눈에 띄는 것은 아무것도 없다는 것을 알 수 있습니다. 즉시 걱정할 것은 없습니다.
+
+
+
+ ### 추적으로 코드 수준 문제 찾기
+
+ 문제가 있는 외부 서비스 위로 다시 마우스를 가져간 다음 이번에는 **View traces** \[추적 보기를] 클릭합니다.
+
+
+
+ 해당 서비스와 관련된 추적에 대한 다양한 차트가 표시됩니다. 이 경우에는 사용자가 구매 버튼을 클릭하여 생성된 데이터를 SMS 알림을 보내는 API 호출까지 추적할 수 있는 `Controller/Sinatra//purchase` 라는 단일 추적이 있습니다.
+
+ 유용하다고 생각되는 만큼 깊이 클릭하되 차트에서 이상이나 오류를 찾는 데 다시 집중하세요. 예를 들어 사용자의 저장된 전화번호를 해독하는 API 호출까지 추적을 추적할 수 있습니다. 여기서 오류가 발생하면 전체 문제가 드러날 수 있습니다. 암호 해독 호출이 실패하고 유효한 전화번호를 반환하지 않으면 사용자는 전화 알림을 받을 수 없습니다.
+
+ 이는 또한 `Sms notification` 차트에 오류가 표시되지 않은 이유를 설명합니다. 해당 API는 올바르게 작동했지만 추가 업스트림 API가 실제로 목적에 부합하지 않는 데이터를 제공했습니다.
+
+
+
+ ### 데이터를 사용하여 논리적 오류 식별
+
+ 모든 솔루션이 오류나 이상 현상에서 직접적으로 나오는 것은 아닙니다. 근본 원인은 훨씬 더 평범할 수 있습니다.
+
+ 예를 들어, `Sms notification` API와 관련된 모든 차트를 탐색했다고 가정해 보겠습니다. 또한 모든 추적을 조사하여 오류나 이상한 이상 현상을 식별하지 못했습니다. 모든 것이 잘 작동하는 것 같지만 고객은 여전히 알림을 받지 못하고 있습니다.
+
+ `Sms notification` 에 대한 처리량 차트를 본 기억이 나고 갑자기 결제 대행업체가 제공하는 구매 한도에 도달했을 수도 있다는 사실을 깨달았습니다. 해당 API가 귀하의 호출을 받았지만 귀하가 할당량에 도달했기 때문에 받은 요청에 대해 아무 작업도 수행하지 않았습니다. 심지어 당신에게 오류를 던지지도 않았습니다.
+
+
+
+## 다음은 뭐지? [#next]
+
+이제 API 문제를 해결하고 전체 시스템 맵을 추적했으므로 우리 플랫폼을 더 탐색할 준비가 되었습니다.
+
+* 앱이 느리게 실행되고 있습니까? [내 앱이 느림](docs/tutorial-app-slow/root-causes) 자습서를 통해 앱의 대기 시간을 분류하고 진단하는 방법을 알아보세요.
+* 수요가 가장 많은 날이 다가오면 New Relic이 [용량 계획](/docs/tutorial-peak-demand/get-started) 에 어떻게 도움이 되는지 알아보십시오.
+* 고품질 알림을 생성하시겠습니까? [경고 자습서는](/docs/tutorial-create-alerts/create-new-relic-alerts/) 경고 시스템을 설정하는 데 도움이 될 수 있습니다.
+
+
\ No newline at end of file
diff --git a/src/i18n/content/kr/docs/tutorial-kubernetes-learn/tutorial-k8s-intro.mdx b/src/i18n/content/kr/docs/tutorial-kubernetes-learn/tutorial-k8s-intro.mdx
index 0b0f82ca297..d01bad0b073 100644
--- a/src/i18n/content/kr/docs/tutorial-kubernetes-learn/tutorial-k8s-intro.mdx
+++ b/src/i18n/content/kr/docs/tutorial-kubernetes-learn/tutorial-k8s-intro.mdx
@@ -13,7 +13,7 @@ import apmApmCompleteSummaryPage from 'images/apm_screenshot-full_apm-complete-s
import infraComplete from 'images/infrastructure_screenshot-full_infra-main.webp'
-Kubernetes 시스템은 본질적으로 복잡하며 이해하기 어렵다는 평가를 받고 있습니다. Kubernetes를 개념으로 이해하는 것은 그 자체로 복잡한 작업이며 특정 Kubernetes 시스템을 이해하려는 것은 복잡성을 더할 뿐입니다. 액세스하기도 전에 회전하는 임시 컨테이너 문제를 어떻게 해결합니까? 한 번에 수백 개의 컨테이너가 조정되어 있는 경우 시스템 전체의 상태를 어떻게 이해합니까? 복잡한 시스템을 기능 계층으로 어떻게 분석합니까?
+Kubernetes 시스템은 본질적으로 복잡하며 이해하기 어렵다는 평가를 받고 있습니다. Kubernetes를 개념으로 이해하는 것은 그 자체로 복잡한 작업이며 특정 Kubernetes 시스템을 이해하려는 것은 복잡성을 더할 뿐입니다. 액세스하기 전에 회전하는 임시 컨테이너 문제를 어떻게 해결합니까? 한 번에 수백 개의 컨테이너가 조정되어 있는 경우 시스템 전체의 상태를 어떻게 이해합니까? 복잡한 시스템을 기능 계층으로 어떻게 분석합니까?
이 튜토리얼 시리즈에서는 New Relic을 사용하여 Kubernetes 시스템을 모니터링하는 방법과 이를 통해 Kubernetes 전체에 대한 이해를 간소화하는 방법을 알아봅니다.
@@ -37,7 +37,7 @@ Kubernetes 시스템은 본질적으로 복잡하며 이해하기 어렵다는
src={tutorialInstall}
/>
- New Relic Kubernetes 통합은 환경의 상태와 성능에 대한 완전한 관찰 가능성을 제공합니다. 제공되는 데이터를 사용하면 전체 Kubernetes 클러스터의 상태를 모니터링하거나 단일 Pod로 드릴다운할 수 있습니다. 이 에이전트는 Kubernetes 이벤트 통합, Prometheus 에이전트 및 New Relic Logs Kubernetes 플러그인과 같은 여러 New Relic 통합을 사용하여 클러스터에서 원격 측정 데이터를 수집합니다.
+ New Relic Kubernetes 통합은 환경의 상태와 성능에 대한 완전한 관찰 가능성을 제공합니다. 제공되는 데이터를 사용하면 전체 Kubernetes 클러스터의 상태를 모니터링하고, 개별 포드를 확인하거나, 특정 서비스 및 애플리케이션을 자세히 살펴볼 수 있습니다. 이 에이전트는 Kubernetes 이벤트 통합, Prometheus 에이전트 및 New Relic Logs Kubernetes 플러그인과 같은 여러 New Relic 통합을 사용하여 클러스터에서 원격 측정 데이터를 수집합니다.
Kubernetes 시스템을 통합하는 방법에는 여러 가지가 있습니다. 이 튜토리얼 시리즈에서는 아래 안내 설치 단계를 사용하는 것이 좋습니다. 다른 설치 경로는 [Kubernetes 설치 문서를](/docs/kubernetes-pixie/kubernetes-integration/installation/kubernetes-integration-install-configure/) 참조하세요.
@@ -89,13 +89,17 @@ Kubernetes 시스템은 본질적으로 복잡하며 이해하기 어렵다는
- 또한 Pixie와 함께 자동 원격 측정을 사용하여 Kubernetes 클러스터 모니터링을 시작할 수 있습니다. [여기에서 Pixie를 사용한 자동 원격 측정에 대해 자세히 알아보세요](/docs/kubernetes-pixie/auto-telemetry-pixie/get-started-auto-telemetry-pixie/).
+ 또한 Pixie와 함께 자동 원격 측정을 사용하여 Kubernetes 클러스터를 모니터링할 수 있습니다. [여기에서 Pixie를 사용한 자동 원격 측정에 대해 자세히 알아보세요](/docs/kubernetes-pixie/auto-telemetry-pixie/get-started-auto-telemetry-pixie/).
+
+ 이 튜토리얼에서는 Pixie 개념을 다루지 않지만 [따라갈 수 있는 다양한 다른 튜토리얼이](https://docs.px.dev/tutorials/pixie-101/) 있습니다.
### 애플리케이션에서 데이터 보내기
- Kubernetes는 컨테이너화된 워크로드를 관리할 때 겪는 수고를 추상화하는 데 탁월합니다. 이러한 추상화는 개별 애플리케이션을 기본 인프라와 연관시킬 때 복잡성을 추가합니다. 이러한 복잡성을 줄이기 위해 애플리케이션 및 서비스의 데이터를 New Relic에 보고하고 이를 Kubernetes 클러스터 내의 위치와 직접 연관시킬 수 있습니다.
+ 수십 또는 수백 개의 컨테이너를 실행하면 유지 관리가 힘들고 어려워집니다. Kubernetes는 클러스터를 가장 높은 수준으로 사용하여 컨테이너를 더 높은 수준의 개념으로 추상화합니다. 이러한 추상화는 클러스터를 전체적으로 이해하는 데 도움이 되지만 애플리케이션 수준에서 발생하는 상황을 이해하기 어렵게 만듭니다.
+
+ 이러한 복잡성을 줄이기 위해 컨테이너화된 애플리케이션의 데이터를 New Relic에 보고할 수 있습니다. 이를 통해 애플리케이션의 상태를 확인할 수 있을 뿐만 아니라 애플리케이션 데이터를 기본 Kubernetes 인프라와 상호 연관시킬 수도 있습니다.
\ No newline at end of file
diff --git a/src/i18n/content/kr/docs/tutorial-kubernetes-learn/tutorial-k8s-layers.mdx b/src/i18n/content/kr/docs/tutorial-kubernetes-learn/tutorial-k8s-layers.mdx
index 5a072c1fc8a..4be1a151d56 100644
--- a/src/i18n/content/kr/docs/tutorial-kubernetes-learn/tutorial-k8s-layers.mdx
+++ b/src/i18n/content/kr/docs/tutorial-kubernetes-learn/tutorial-k8s-layers.mdx
@@ -29,19 +29,19 @@ Kubernetes 시스템을 구성하는 요소를 검토하고 New Relic이 클러
세 가지 주요 섹션을 통해 Kubernetes 시스템에 대해 논의하겠습니다.
-* **클러스터**: 전체 Kubernetes 시스템을 나타냅니다. 클러스터에는 여러 배포가 포함되어 있으며 여기에는 많은 Pod가 포함됩니다. 각 포드에는 개별 서비스와 애플리케이션이 포함되어 있습니다.
+* **The cluster** \[클러스터]: 전체 Kubernetes 시스템을 나타냅니다. 클러스터에는 여러 배포가 포함되어 있으며 여기에는 많은 Pod가 포함됩니다. 각 포드는 개별 서비스와 애플리케이션을 유지 관리합니다.
* **오케스트레이션**: 이는 Kubernetes 시스템의 핵심 요소입니다. 오케스트레이션된 구성 요소는 필요에 따라 포드를 위아래로 회전시키는 전체 배포로 구성됩니다.
-* **서비스 및 애플리케이션**: 서비스와 애플리케이션은 Kubernetes 시스템의 핵심입니다. Kubernetes 시스템 내에서 각 포드에는 하나 이상의 서비스와 애플리케이션이 포함되어 있습니다. 서비스와 애플리케이션은 시스템을 구동하는 필수 기능을 제공합니다. 이는 계산, 웹 앱 또는 기타 애플리케이션일 수 있습니다.
+* **The services and applications** \[서비스 및 애플리케이션]: 서비스와 애플리케이션은 Kubernetes 시스템의 핵심입니다. Kubernetes 시스템 내에서 각 포드에는 하나 이상의 서비스와 애플리케이션이 포함되어 있습니다. 서비스와 애플리케이션은 시스템의 목적을 달성하는 필수 기능을 제공합니다. 이는 계산, 웹 앱 또는 기타 애플리케이션일 수 있습니다.
이러한 섹션은 서로 중첩되어 있다는 점에 유의하는 것이 중요합니다. 클러스터에는 여러 개의 오케스트레이션된 레이어가 포함되어 있으며, 각 오케스트레이션된 레이어는 여러 서비스 및 애플리케이션 레이어로 구성됩니다.
- Kubernetes 시스템을 분할하여 이해하는 방법에는 여러 가지가 있습니다. 이러한 계층은 시스템을 생각하는 한 가지 방법일 뿐입니다.
+ Kubernetes 시스템을 분할하여 이해하는 방법에는 여러 가지가 있습니다. 이러한 계층은 시스템에 대해 생각하는 한 가지 방법일 뿐입니다.
## 클러스터 계층 이해 및 모니터링
-수많은 배포와 Pod가 있는 대규모 Kubernetes 시스템에서는 각 구성 요소를 수동으로 모니터링하는 것이 비현실적입니다. 수십 또는 수백 개의 배포를 처리해야 할 수 있으며 이는 결국 수백 또는 수천 개의 개별 Pod를 모니터링해야 할 수도 있음을 의미합니다. New Relic은 전체 시스템 상태를 감독하고 문제가 발생할 때 적시에 경고를 받을 수 있는 보다 효율적인 접근 방식을 제공합니다.
+수많은 배포와 Pod가 있는 대규모 Kubernetes 시스템에서는 각 구성 요소를 수동으로 모니터링하는 것이 비현실적입니다. 수십 또는 수백 개의 배포를 처리해야 할 수 있으며 이는 결국 수백 또는 수천 개의 개별 포드, 서비스 및 애플리케이션을 모니터링해야 할 수도 있음을 의미합니다. New Relic은 전체 시스템 상태를 감독하고 문제가 발생할 때 적시에 경고를 받을 수 있는 보다 효율적인 접근 방식을 제공합니다.
다음 단계는 클러스터에 대한 일반적인 모니터링 전략을 안내합니다.
@@ -57,7 +57,7 @@ Kubernetes 시스템을 구성하는 요소를 검토하고 New Relic이 클러
### 클러스터 분류
- Kubernetes 개요 대시보드에는 클러스터에 대한 상위 수준 데이터가 표시됩니다. Pod 및 서비스 수와 같은 일반 데이터를 찾을 수 있지만 더 중요한 것은 실행 중인 Pod 비율, 실패한 Pod 수, 컨테이너 다시 시작 횟수 등과 같은 클러스터 상태에 대한 데이터를 찾을 수 있다는 것입니다.
+ Kubernetes 개요 대시보드에는 클러스터에 대한 상위 수준 데이터가 표시됩니다. Pod 및 서비스 수와 같은 일반 데이터를 찾을 수 있습니다. 더 중요한 것은 실행 중인 포드 비율, 실패한 포드 수, 컨테이너 재시작 횟수 등과 같은 클러스터 상태에 대한 데이터를 찾을 수 있다는 것입니다.
이 대시보드를 사용하여 클러스터의 일반적인 상태를 측정하세요. 찾아야 할 몇 가지 사항은 다음과 같습니다.
@@ -96,7 +96,7 @@ Kubernetes 시스템을 구성하는 요소를 검토하고 New Relic이 클러
시간 경과에 따른 보류 중인 Pod 또는 시간 경과에 따른 메모리 사용률 등을 보여주는 다양한 그래프가 있습니다.
- 위 스크린샷의 **Kubernetes Warning Events by Reason** \[이유별 Kubernetes 경고 이벤트] 그래프의 급증과 같이 급증은 매우 정상적인 현상입니다. 이러한 급증은 약 5분마다 정기적으로 발생하므로 걱정할 필요가 없습니다. 규칙적인 패턴을 벗어나 발생하는 스파이크나 정상보다 훨씬 더 큰 규모의 스파이크를 찾아보세요.
+ 위 스크린샷의 이유별 **Kubernetes Warning Events by Reason** \[Kubernetes 경고 이벤트] 그래프의 급증과 같이 급증이 항상 우려할 만한 원인은 아닙니다. 이러한 급증은 약 5분마다 정기적으로 발생하므로 위험 신호가 발생하지 않습니다. 규칙적인 패턴을 벗어나 발생하는 스파이크나 정상보다 훨씬 큰 규모의 스파이크를 찾아보세요.
|
|
@@ -106,7 +106,7 @@ Kubernetes 시스템을 구성하는 요소를 검토하고 New Relic이 클러
- 클러스터의 노드가 준비되어 포드를 호스팅할 수 있는지 확인합니다. 클러스터의 인프라가 병목 현상 없이 워크로드를 처리할 수 있도록 준비되었는지 확인하세요.
+ 클러스터의 노드가 준비되어 포드를 호스팅할 수 있는지 확인합니다. 클러스터의 인프라가 병목 현상 없이 워크로드를 처리할 수 있는지 확인하세요.
|