Skip to content

Commit

Permalink
Merge pull request #15415 from newrelic/daily-release/Dec-6--2023-8_40
Browse files Browse the repository at this point in the history
Daily release/dec 6  2023 8 40
  • Loading branch information
homelessbirds authored Dec 6, 2023
2 parents 61d0569 + 6f08da6 commit ce2503f
Show file tree
Hide file tree
Showing 5 changed files with 253 additions and 3 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/check-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,11 @@ jobs:

- name: Convert images to WEBP
run: yarn convert-to-webp -g
id: convert-images

- name: Commit changes
id: commit-changes
if: steps.convert-images.outputs.convertedImages != 0
run: |
git config --local user.email "${{ env.BOT_EMAIL }}"
git config --local user.name "${{ env.BOT_NAME }}"
Expand Down
2 changes: 2 additions & 0 deletions scripts/convertPNGs.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { Command } from 'commander';
import webp from 'webp-converter';
import { promisify } from 'util';
import { exec as callback_exec } from 'child_process';
import core from '@actions/core';

const program = new Command();
program
Expand Down Expand Up @@ -77,6 +78,7 @@ const updateMarkdownReferences = async (mdArray) => {
};

const convertImages = async (imageArray) => {
core.setOutput('convertedImages', imageArray.length);
console.log(`⏳ Converting ${imageArray.length} images`);
for (const imagePath of imageArray) {
const webpPath = swapExtension(imagePath);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1019,3 +1019,248 @@ You use [secure credentials](/docs/synthetics/synthetic-monitoring/using-monitor
```
</Collapser>
</CollapserGroup>

## Manage your monitor downtimes [#monitor-downtimes]

Monitor downtimes let you specify times that your synthetics should stop running. We've provided different snippets that demonstrate how to schedule monitor downtimes for your synthetics. You need to update these snippets to specify timezone, start times, and end times. To learn more about when you might schedule monitor downtimes, check out our doc [Disable monitoring during scheduled maintenance times](docs/synthetics/synthetic-monitoring/using-monitors/monitor-downtimes-disable-monitoring-during-scheduled-maintenance-times/). To find timezone values, see [the tz database of time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For example, America/Los Angeles would use the PDT abbreviation.

<CollapserGroup>
<Collapser
id="create-once-downtime"
title="Create a monitor downtime that runs once"
>

```
mutation {
syntheticsCreateOnceMonitorDowntime (
accountId: NR_ACCOUNT_ID,
name: "MonitorDowntimeName",
monitorGuids: ["OptionalMonitorEntityGuid", "OptionalMonitorEntityGuid"],
timezone: "Timezone",
startTime: "yyyy-MM-ddTHH:mm:ss",
endTime: "yyyy-MM-ddTHH:mm:ss"
) {
guid,
accountId,
name,
monitorGuids,
timezone,
startTime,
endTime
}
}
```

</Collapser>
<Collapser
id="create-daily-downtime"
title="Create a monitor downtime that runs daily"
>

```
mutation {
syntheticsCreateDailyMonitorDowntime (
accountId: NR_ACCOUNT_ID,
name: "MonitorDowntimeName",
monitorGuids: ["OptionalMonitorEntityGuid", "AnotherOptionalMonitorEntityGuid"],
timezone: "Timezone",
startTime: "yyyy-MM-ddTHH:mm:ss",
endTime: "yyyy-MM-ddTHH:mm:ss",
endRepeat: {
onDate: "yyyy-MM-ddTHH:mm:ss",
onRepeat: Int
}
) {
guid,
accountId,
name,
monitorGuids,
timezone,
startTime,
endTime,
endRepeat {
onDate,
onRepeat
}
}
}
```

</Collapser>
<Collapser
id="create-weekly-downtime"
title="Create a monitor downtime that runs weekly"
>

```
mutation {
syntheticsCreateWeeklyMonitorDowntime (
accountId: NR_ACCOUNT_ID,
name: "MonitorDowntimeName",
monitorGuids: ["OptionalMonitorEntityGuid", "AnotherOptionalMonitorEntityGuid"],
timezone: "Timezone",
startTime: "yyyy-MM-ddTHH:mm:ss",
endTime: "yyyy-MM-ddTHH:mm:ss",
endRepeat: {
onDate: "yyyy-MM-ddTHH:mm:ss",
onRepeat: Int
},
maintenanceDays: [WeekDaysEnums]
) {
guid,
accountId,
name,
monitorGuids,
timezone,
startTime,
endTime,
endRepeat {
onDate,
onRepeat
},
maintenanceDays
}
}
```

</Collapser>
<Collapser
id="create-monthly-downtime"
title="Create a monitor downtime that runs monthly"
>

```
mutation {
syntheticsCreateMonthlyMonitorDowntime (
accountId: NR_ACCOUNT_ID,
name: "MonitorDowntimeName",
monitorGuids: ["OptionalMonitorEntityGuid", "AnotherOptionalMonitorEntityGuid"],
timezone: "Timezone",
startTime: "yyyy-MM-ddTHH:mm:ss",
endTime: "yyyy-MM-ddTHH:mm:ss",
endRepeat: {
onDate: "yyyy-MM-ddTHH:mm:ss",
onRepeat: Int
},
frequency: {
daysOfWeek: {
weekDay: WeekDaysEnum,
ordinalDayOfMonth: DayOfMonthOrdinal
},
daysOfMonth: [Int]
}
) {
guid,
accountId,
name,
monitorGuids,
timezone,
startTime,
endTime,
endRepeat {
onDate,
onRepeat
},
frequency {
daysOfWeek {
weekDay,
ordinalDayOfMonth
},
daysOfMonth
}
}
}
```

</Collapser>
<Collapser
id="update-downtime"
title="Update a monitor downtime"
>

```
mutation {
syntheticsEditMonitorDowntime (
guid: "MonitorDowntimeEntityGuid",
name: "MONITOR_DOWNTIME_NAME",
monitorGuids: ["OptionalMonitorEntityGuid", "AnotherOptionalMonitorEntityGuid"],
once: {
timezone: "Timezone",
startTime: "yyyy-MM-ddTHH:mm:ss",
endTime: "yyyy-MM-ddTHH:mm:ss"
},
daily: {
timezone: "Timezone",
startTime: "yyyy-MM-ddTHH:mm:ss",
endTime: "yyyy-MM-ddTHH:mm:ss",
endRepeat: {
onDate: "yyyy-MM-ddTHH:mm:ss",
onRepeat: Int
}
},
weekly: {
timezone: "Timezone",
startTime: "yyyy-MM-ddTHH:mm:ss",
endTime: "yyyy-MM-ddTHH:mm:ss",
endRepeat: {
onDate: "yyyy-MM-ddTHH:mm:ss",
onRepeat: Int
},
maintenanceDays: [WeekDaysEnums]
},
monthly: {
timezone: "Timezone",
startTime: "yyyy-MM-ddTHH:mm:ss",
endTime: "yyyy-MM-ddTHH:mm:ss",
endRepeat: {
onDate: "yyyy-MM-ddTHH:mm:ss",
onRepeat: Int
},
frequency: {
daysOfWeek: {
weekDay: WeekDaysEnum,
ordinalDayOfMonth: DayOfMonthOrdinal
},
daysOfMonth: [Int]
}
) {
guid,
accountId,
name,
monitorGuids,
timezone,
startTime,
endTime,
endRepeat {
onDate,
onRepeat
},
maintenanceDays,
frequency {
daysOfWeek {
weekDay,
ordinalDayOfMonth
},
daysOfMonth
}
}
}
```

</Collapser>
<Collapser
id="delete-downtime"
title="Delete a monitor downtime"
>

```
mutation {
syntheticsDeleteMonitorDowntime (
guid: DOWNTIME_ENTITY_GUID
) {
guid
}
}
```
</Collapser>
</CollapserGroup>
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ The [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-co

### Correlate your application logs [#log-correlation]

Application logs are more useful if they're correlated with other telemetry data produced by the application. The OpenTelemetry [semantic convention for services](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/resource/semantic_conventions#service) specifies `service.name` as a required field. All application metric, trace, and log data sent to New Relic with the same `service.name` are associated with the same [entity](/docs/new-relic-one/use-new-relic-one/core-concepts/what-entity-new-relic).
Application logs are more useful if they're correlated with other telemetry data produced by the application. The OpenTelemetry [semantic convention for services](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/README.md) specifies `service.name` as a required field. All application metric, trace, and log data sent to New Relic with the same `service.name` are associated with the same [entity](/docs/new-relic-one/use-new-relic-one/core-concepts/what-entity-new-relic).

The specifics of how logs get annotated with the `service.name` resource attribute depends on the application's environment:

* Applications may produce structured JSON logs, which you can configure to include `service.name` as another field.
* You can deploy applications alongside a dedicated [Collector agent](https://opentelemetry.io/docs/collector/getting-started/#agent) instance, which you can configure with a [Resource processor](https://github.com/open-telemetry/opentelemetry-collector/tree/main/processor/resourceprocessor) to annotate logs with the `service.name` attribute.
* You can deploy applications alongside a dedicated [Collector agent](https://opentelemetry.io/docs/collector/getting-started/#agent) instance, which you can configure with a [Resource processor](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/resource) to annotate logs with the `service.name` attribute.

Optionally, additional application [trace context](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/overview.md#log-correlation) (sometimes called execution context) can be propagated to log messages. The setup and availability of this depends on the language and logging framework used by the application. The general strategy is to set up the application to write structured JSON logs and to configure it to extract trace context into specified [trace context fields](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#trace-context-fields) on available log messages. For more details, see [OpenTelemetry in the UI: Logs page](/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/view-your-data/opentelemetry-logs-page).
Optionally, additional application [trace context](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/trace/sdk_exporters) (sometimes called execution context) can be propagated to log messages. The setup and availability of this depends on the language and logging framework used by the application. The general strategy is to set up the application to write structured JSON logs and to configure it to extract trace context into specified [trace context fields](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#trace-context-fields) on available log messages. For more details, see [OpenTelemetry in the UI: Logs page](/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/view-your-data/opentelemetry-logs-page).

The [Logs in Context with Log4j2 example in GitHub](https://github.com/newrelic/newrelic-opentelemetry-examples/tree/main/other-examples/java/logs-in-context-log4j2) demonstrates an end-to-end working example for a simple Java application using Log4j2.

Expand Down
1 change: 1 addition & 0 deletions src/content/docs/style-guide/ui-writing/punctuation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ The first sentence says that the speaker loves three separate things, whereas th

- For ranges and number spans, use an en dash (``) without a space on either side.
- For date spans, use spaces around the en dash.
- Hyphenate compound words; for example, usage-based pricing and short-term data storage. In compound words that precede and modify a noun, don’t hyphenate an adverb ending in “ly”; for example, highly customized software.

| Do | Don't |
| --------------------------- | ------------------------- |
Expand Down

0 comments on commit ce2503f

Please sign in to comment.