Skip to content

Commit

Permalink
[APM] UX text review (#161400)
Browse files Browse the repository at this point in the history
## Summary

@gchaps and I met to review text on some APM UI pages. Outcomes:

1. Service **m**ap or Service **M**ap — there is inconsistency in the
APM UI with how we refer to Service maps. In some cases, we use title
case (Service Map). In others, we use sentence case (Service map). As
per the [EUI writing
guidelines](https://eui.elastic.co/#/guidelines/writing/guidelines#capitalization),
we should use title case for product features.
2. Storage **e**xplorer or Storage **E**xplorer — same story here. We
use title case sometimes and sentence case others. We should use title
case as this is a product feature.
3. Various text enhancements and changes.
bmorelli25 authored Jul 7, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent ec6bcd6 commit 3ced121
Showing 37 changed files with 129 additions and 129 deletions.
154 changes: 77 additions & 77 deletions docs/CHANGELOG.asciidoc

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions docs/apm/apm-app-users.asciidoc
Original file line number Diff line number Diff line change
@@ -243,9 +243,9 @@ See <<apm-app-api-user>>.
++++

[[apm-app-storage-explorer-user]]
==== Storage explorer user
==== Storage Explorer user

View the **Storage explorer** in the APM app.
View the **Storage Explorer** in the APM app.

. Create a new role, named something like `storage-explorer_user`,
and assign the following privileges:
@@ -255,7 +255,7 @@ include::./tab-widgets/storage-explorer-user/widget.asciidoc[]
--

. Assign the `storage-explorer_user` created previously, and the roles and privileges necessary to create
a <<apm-app-reader-full,full>> or <<apm-app-reader-partial,partial>> APM reader to any users that need to view **Storage explorer** in the APM app.
a <<apm-app-reader-full,full>> or <<apm-app-reader-partial,partial>> APM reader to any users that need to view **Storage Explorer** in the APM app.

////
*********************************** ***********************************
2 changes: 1 addition & 1 deletion docs/apm/machine-learning.asciidoc
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ image::apm/images/service-quick-health.png[Example view of anomaly scores on res
[role="screenshot"]
image::apm/images/apm-ml-integration.png[Example view of anomaly scores on response times in the APM app]

* Service maps will display a color-coded anomaly indicator based on the detected anomaly score.
* Service Maps will display a color-coded anomaly indicator based on the detected anomaly score.
+
[role="screenshot"]
image::apm/images/apm-service-map-anomaly.png[Example view of anomaly scores on service maps in the APM app]
6 changes: 3 additions & 3 deletions docs/apm/service-maps.asciidoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[role="xpack"]
[[service-maps]]
=== Service map
=== Service Map

A service map is a real-time visual representation of the instrumented services in your application's architecture.
It shows you how these services are connected, along with high-level metrics like average transaction duration,
@@ -40,7 +40,7 @@ We currently surface two types of service maps:
[[service-maps-how]]
=== How do service maps work?

Service maps rely on distributed traces to draw connections between services.
Service Maps rely on distributed traces to draw connections between services.
As {apm-guide-ref}/apm-distributed-tracing.html[distributed tracing] is enabled out-of-the-box for supported technologies, so are service maps.
However, if a service isn't instrumented,
or a `traceparent` header isn't being propagated to it,
@@ -105,7 +105,7 @@ Type and subtype are based on `span.type`, and `span.subtype`.
[[service-maps-supported]]
=== Supported APM agents

Service maps are supported for the following APM agent versions:
Service Maps are supported for the following APM agent versions:

[horizontal]
Go agent:: ≥ v1.7.0
8 changes: 4 additions & 4 deletions docs/apm/storage-explorer.asciidoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[[storage-explorer]]
=== Storage explorer
=== Storage Explorer

beta::[]

@@ -10,7 +10,7 @@ Or, expand the time filter to visualize data trends over time so that you can be
and prepare for future storage needs.

[role="screenshot"]
image::apm/images/storage-explorer-overview.png[APM Storage explorer]
image::apm/images/storage-explorer-overview.png[APM Storage Explorer]

[float]
==== Index lifecycle phases
@@ -50,7 +50,7 @@ the total number of documents.
* Number of **transactions**, **spans**, **errors**, and **metrics** — doc count and size on disk.

[role="screenshot"]
image::apm/images/storage-explorer-expanded.png[APM Storage explorer service breakdown]
image::apm/images/storage-explorer-expanded.png[APM Storage Explorer service breakdown]

As you explore your service statistics, you might want to take action to reduce the number of
documents and therefore storage size of a particular service.
@@ -84,7 +84,7 @@ work with your developers to change how exceptions are handled in your code.
[float]
==== Privileges

Storage explorer requires expanded privileges to view.
Storage Explorer requires expanded privileges to view.
See <<apm-app-storage-explorer-user-create>> for more information.

[float]
2 changes: 1 addition & 1 deletion docs/apm/traces.asciidoc
Original file line number Diff line number Diff line change
@@ -28,7 +28,7 @@ preview::[]

**Trace explorer** is an experimental top-level search tool that allows you to query your traces using <<kuery-query,Kibana Query Language (KQL)>> or {ref}/eql.html[Event Query Language (EQL)].

Curate your own custom queries, or use the <<service-maps,**Service map**>> to find and select edges to automatically generate queries based on your selection:
Curate your own custom queries, or use the <<service-maps,**Service Map**>> to find and select edges to automatically generate queries based on your selection:

[role="screenshot"]
image::apm/images/trace-explorer.png[Trace explorer]
2 changes: 1 addition & 1 deletion docs/apm/troubleshooting.asciidoc
Original file line number Diff line number Diff line change
@@ -176,7 +176,7 @@ These are dynamic by default, which means they will be indexed and become search

[float]
[[service-map-rum-connections]]
=== Service maps: no connection between client and server
=== Service Maps: no connection between client and server

If the service map is not showing an expected connection between the client and server,
it's likely because you haven't configured
Original file line number Diff line number Diff line change
@@ -72,7 +72,7 @@ describe('Storage Explorer', () => {
});

it('has no detectable a11y violations on load', () => {
cy.contains('h1', 'Storage explorer');
cy.contains('h1', 'Storage Explorer');
// set skipFailures to true to not fail the test when there are accessibility failures
checkA11y({ skipFailures: true });
});
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ export function ChartTitleToolTip() {
'xpack.apm.correlations.latencyCorrelations.titleHelp',
{
defaultMessage:
'The chart uses logarithmic scales on both axes to avoid outliers distorting it',
'This chart uses logarithmic scales on both axes to avoid distortion from outliers.',
}
)}
position="right"
Original file line number Diff line number Diff line change
@@ -31,12 +31,12 @@ export function CorrelationsEmptyStatePrompt() {
<p>
<FormattedMessage
id="xpack.apm.correlations.noCorrelationsTextLine1"
defaultMessage="Correlations will only be identified if they have significant impact."
defaultMessage="Correlations are only identified if they have significant impact."
/>
<br />
<FormattedMessage
id="xpack.apm.correlations.noCorrelationsTextLine2"
defaultMessage="Try selecting another time range or remove any added filter."
defaultMessage="Try selecting another time range or removing any added filters."
/>
</p>
</EuiText>
Original file line number Diff line number Diff line change
@@ -377,7 +377,7 @@ export function ServiceList({
'xpack.apm.servicesTable.tooltip.metricsExplanation',
{
defaultMessage:
'Service metrics are aggregated on transaction type "request", "page-load", or the top available transaction type.',
'Service metrics are aggregated on their transaction type, which can be request or page-load. If neither exists, metrics are aggregated on the top available transaction type.',
}
)}
>
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ export function DisabledPrompt() {
title={
<h2>
{i18n.translate('xpack.apm.serviceMap.disabledTitle', {
defaultMessage: 'Service map is disabled',
defaultMessage: 'Service Map is disabled',
})}
</h2>
}
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ export function TimeoutPrompt({
title={
<h2>
{i18n.translate('xpack.apm.serviceMap.timeoutPromptTitle', {
defaultMessage: 'Service map timeout',
defaultMessage: 'Service Map timeout',
})}
</h2>
}
Original file line number Diff line number Diff line change
@@ -330,7 +330,7 @@ export function ServicesTable() {
tableCaption={i18n.translate(
'xpack.apm.storageExplorer.table.caption',
{
defaultMessage: 'Storage explorer',
defaultMessage: 'Storage Explorer',
}
)}
items={items ?? []}
Original file line number Diff line number Diff line change
@@ -130,7 +130,7 @@ export function IndexStatsPerService({ indicesStats, status }: Props) {
tableCaption={i18n.translate(
'xpack.apm.storageExplorer.indicesStats.table.caption',
{
defaultMessage: 'Storage explorer indices breakdown',
defaultMessage: 'Storage Explorer indices breakdown',
}
)}
items={indicesStats}
Original file line number Diff line number Diff line change
@@ -23,15 +23,15 @@ export const storageExplorer = {
element: (
<Breadcrumb
title={i18n.translate('xpack.apm.views.storageExplorer.title', {
defaultMessage: 'Storage explorer',
defaultMessage: 'Storage Explorer',
})}
href="/storage-explorer"
>
<ApmMainTemplate
pageHeader={{
alignItems: 'center',
pageTitle: i18n.translate('xpack.apm.views.storageExplorer.title', {
defaultMessage: 'Storage explorer',
defaultMessage: 'Storage Explorer',
}),
rightSideItems: [
<EuiLink
Original file line number Diff line number Diff line change
@@ -82,7 +82,7 @@ export function AnalyzeDataButton() {
position="top"
content={i18n.translate('xpack.apm.analyzeDataButton.tooltip', {
defaultMessage:
'Explore Data allows you to select and filter result data in any dimension, and look for the cause or impact of performance problems',
'Go to Explore Data, where you can select and filter result data in any dimension and look for the cause or impact of performance problems.',
})}
>
<EuiButtonEmpty
Original file line number Diff line number Diff line change
@@ -166,7 +166,7 @@ function useTabs(selectedTab: ServiceGroupContextTab['key']) {
{
key: 'service-map',
label: i18n.translate('xpack.apm.serviceGroup.serviceMap', {
defaultMessage: 'Service map',
defaultMessage: 'Service Map',
}),
href: router.link('/service-map', { query }),
},
Original file line number Diff line number Diff line change
@@ -53,7 +53,7 @@ export function TransactionBreakdownChart({
'xpack.apm.transactionBreakdown.chartHelp',
{
defaultMessage:
'The average duration of each span type. "app" indicates something was happening within the service—this could mean that the time was spent in application code and not in database or external requests, or that APM agent auto-instrumentation doesn\'t cover the executed code.',
'The average duration of each span type. "app" indicates something was happening within the service. This could mean that the time was spent in application code and not in database or external requests, or that APM agent auto-instrumentation doesn\'t cover the executed code.',
}
)}
position="right"
Original file line number Diff line number Diff line change
@@ -80,8 +80,8 @@ export function KueryBar(props: {
transaction {transactions}
metric {metrics}
error {errors}
other {transactions, errors and metrics}
} (E.g. {queryExample})`,
other {transactions, errors, and metrics}
} (e.g. {queryExample})`,
values: {
queryExample: example,
event: processorEvent,
Original file line number Diff line number Diff line change
@@ -69,7 +69,7 @@ export function SloCallout({
<p>
<FormattedMessage
id="xpack.apm.slo.callout.description"
defaultMessage="How quickly will you respond if the service goes down? Keep the performance, speed and user experience high with a SLO"
defaultMessage="Keep your service's performance, speed, and user experience high with a Service Level Objective (SLO)."
/>
</p>
</EuiFlexItem>
Original file line number Diff line number Diff line change
@@ -79,7 +79,7 @@ describe('Transaction action menu', () => {
},
{
key: 'serviceMap',
title: 'Service map',
title: 'Service Map',
subtitle: 'View service map filtered by this trace.',
actions: [
{
@@ -160,7 +160,7 @@ describe('Transaction action menu', () => {
},
{
key: 'serviceMap',
title: 'Service map',
title: 'Service Map',
subtitle: 'View service map filtered by this trace.',
actions: [
{
@@ -240,7 +240,7 @@ describe('Transaction action menu', () => {
},
{
key: 'serviceMap',
title: 'Service map',
title: 'Service Map',
subtitle: 'View service map filtered by this trace.',
actions: [
{
Original file line number Diff line number Diff line change
@@ -359,7 +359,7 @@ export const getSections = ({
title: i18n.translate(
'xpack.apm.transactionActionMenu.serviceMap.title',
{
defaultMessage: 'Service map',
defaultMessage: 'Service Map',
}
),
subtitle: i18n.translate(
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ const ANALYZE_DATA = i18n.translate('xpack.synthetics.analyzeDataButtonLabel', {

const ANALYZE_MESSAGE = i18n.translate('xpack.synthetics.analyzeDataButtonLabel.message', {
defaultMessage:
'Explore Data allows you to select and filter result data in any dimension and look for the cause or impact of performance problems.',
'Go to Explore Data, where you can select and filter result data in any dimension and look for the cause or impact of performance problems.',
});

export function ActionMenuContent(): React.ReactElement {
Original file line number Diff line number Diff line change
@@ -32,7 +32,7 @@ const ANALYZE_DATA = i18n.translate('xpack.uptime.analyzeDataButtonLabel', {

const ANALYZE_MESSAGE = i18n.translate('xpack.uptime.analyzeDataButtonLabel.message', {
defaultMessage:
'Explore Data allows you to select and filter result data in any dimension and look for the cause or impact of performance problems.',
'Go to Explore Data, where you can select and filter result data in any dimension and look for the cause or impact of performance problems.',
});

export function ActionMenuContent(): React.ReactElement {
Original file line number Diff line number Diff line change
@@ -27,7 +27,7 @@ const ANALYZE_MESSAGE = i18n.translate(
'xpack.ux.analyzeDataButtonLabel.message',
{
defaultMessage:
'Explore Data allows you to select and filter result data in any dimension and look for the cause or impact of performance problems.',
'Go to Explore Data, where you can select and filter result data in any dimension and look for the cause or impact of performance problems.',
}
);

Original file line number Diff line number Diff line change
@@ -72,7 +72,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {

let errorRateMetricValues: Awaited<ReturnType<typeof getErrorRateValues>>;
let errorTransactionValues: Awaited<ReturnType<typeof getErrorRateValues>>;
registry.when('Service maps APIs', { config: 'trial', archives: [] }, () => {
registry.when('Service Maps APIs', { config: 'trial', archives: [] }, () => {
describe('when data is loaded ', () => {
const GO_PROD_LIST_RATE = 75;
const GO_PROD_LIST_ERROR_RATE = 25;
Original file line number Diff line number Diff line change
@@ -71,7 +71,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {

let latencyMetricValues: Awaited<ReturnType<typeof getLatencyValues>>;
let latencyTransactionValues: Awaited<ReturnType<typeof getLatencyValues>>;
registry.when('Service maps APIs', { config: 'trial', archives: [] }, () => {
registry.when('Service Maps APIs', { config: 'trial', archives: [] }, () => {
describe('when data is loaded ', () => {
const GO_PROD_RATE = 80;
const GO_DEV_RATE = 20;
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext)
const archiveName = 'apm_8.0.0';
const metadata = archives_metadata[archiveName];

registry.when('Service map with a basic license', { config: 'basic', archives: [] }, () => {
registry.when('Service Map with a basic license', { config: 'basic', archives: [] }, () => {
it('is only be available to users with Platinum license (or higher)', async () => {
try {
await apmApiClient.readUser({
@@ -49,7 +49,7 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext)
});
});

registry.when('Service map without data', { config: 'trial', archives: [] }, () => {
registry.when('Service Map without data', { config: 'trial', archives: [] }, () => {
describe('/internal/apm/service-map', () => {
it('returns an empty list', async () => {
const response = await apmApiClient.readUser({
Original file line number Diff line number Diff line change
@@ -40,7 +40,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
});
}

registry.when('Service map', { config: 'trial', archives: [] }, () => {
registry.when('Service Map', { config: 'trial', archives: [] }, () => {
describe('optional kuery param', () => {
before(async () => {
const events = timerange(start, end)
Original file line number Diff line number Diff line change
@@ -44,7 +44,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
}

registry.when(
'Storage explorer when data is not loaded',
'Storage Explorer when data is not loaded',
{ config: 'basic', archives: [] },
() => {
it('handles empty state', async () => {
@@ -56,7 +56,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
}
);

registry.when('Storage explorer', { config: 'basic', archives: [] }, () => {
registry.when('Storage Explorer', { config: 'basic', archives: [] }, () => {
describe('when data is loaded', () => {
before(async () => {
const serviceGo = apm
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
});
}

registry.when('Storage explorer privileges', { config: 'basic', archives: [] }, () => {
registry.when('Storage Explorer privileges', { config: 'basic', archives: [] }, () => {
it('returns true when the user has the required indices privileges', async () => {
const { status, body } = await callApi(apmApiClient.monitorClusterAndIndicesUser);
expect(status).to.be(200);
Original file line number Diff line number Diff line change
@@ -44,7 +44,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
}

registry.when(
'Storage explorer summary stats when data is not loaded',
'Storage Explorer summary stats when data is not loaded',
{ config: 'basic', archives: [] },
() => {
it('handles empty state', async () => {
@@ -61,7 +61,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
}
);

registry.when('Storage explorer summary stats', { config: 'basic', archives: [] }, () => {
registry.when('Storage Explorer summary stats', { config: 'basic', archives: [] }, () => {
describe('when data is loaded', () => {
before(async () => {
const serviceGo = apm
Original file line number Diff line number Diff line change
@@ -38,7 +38,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
}

registry.when(
'Storage explorer timeseries chart when data is not loaded',
'Storage Explorer timeseries chart when data is not loaded',
{ config: 'basic', archives: [] },
() => {
it('handles empty state', async () => {
@@ -50,7 +50,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
}
);

registry.when('Storage explorer timeseries chart', { config: 'basic', archives: [] }, () => {
registry.when('Storage Explorer timeseries chart', { config: 'basic', archives: [] }, () => {
describe('when data is loaded', () => {
let body: StorageTimeSeries;
let status: number;
Original file line number Diff line number Diff line change
@@ -81,7 +81,7 @@ export default function ApiTest({ getService }: FtrProviderContext) {
let throughputMetricValues: Awaited<ReturnType<typeof getThroughputValues>>;
let throughputTransactionValues: Awaited<ReturnType<typeof getThroughputValues>>;

registry.when('Service maps APIs', { config: 'trial', archives: [] }, () => {
registry.when('Service Maps APIs', { config: 'trial', archives: [] }, () => {
describe('when data is loaded ', () => {
const GO_PROD_RATE = 80;
const GO_DEV_RATE = 20;
Original file line number Diff line number Diff line change
@@ -146,7 +146,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
// Assert that results for the given service didn't find any correlations
const apmCorrelationsTable = await testSubjects.getVisibleText('apmCorrelationsTable');
expect(apmCorrelationsTable).to.be(
'No significant correlations\nCorrelations will only be identified if they have significant impact.\nTry selecting another time range or remove any added filter.'
'No significant correlations\nCorrelations are only identified if they have significant impact.\nTry selecting another time range or removing any added filters.'
);
});
});
Original file line number Diff line number Diff line change
@@ -157,7 +157,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
// Assert that results for the given service didn't find any correlations
const apmCorrelationsTable = await testSubjects.getVisibleText('apmCorrelationsTable');
expect(apmCorrelationsTable).to.be(
'No significant correlations\nCorrelations will only be identified if they have significant impact.\nTry selecting another time range or remove any added filter.'
'No significant correlations\nCorrelations are only identified if they have significant impact.\nTry selecting another time range or removing any added filters.'
);
});
});

0 comments on commit 3ced121

Please sign in to comment.