diff --git a/contribute/ISSUE_TRIAGE.md b/contribute/ISSUE_TRIAGE.md
index 71e4bd7770d..ed9d6c9418e 100644
--- a/contribute/ISSUE_TRIAGE.md
+++ b/contribute/ISSUE_TRIAGE.md
@@ -270,17 +270,17 @@ In case there is an uncertainty around the prioritization of an issue, please as
1. If applicable, label the issue `priority/support-subscription`.
1. Add the issue to the next upcoming patch or major/minor stable release milestone. Ask maintainers for help if unsure if it's a patch or not. Create a new milestone if there are none.
1. Make sure to add the issue to a suitable backlog of a GitHub project and prioritize it or assign someone to work on it now or very soon.
-1. Consider requesting [help from the community](#5-requesting-help-from-the-community), even though it may be problematic given a short amount of time until it should be released.
+1. Consider requesting [help from the community](#5-request-help-from-the-community), even though it may be problematic given a short amount of time until it should be released.
**Important long-term**
1. Label the issue `priority/important-longterm`.
-1. Consider requesting [help from the community](#5-requesting-help-from-the-community).
+1. Consider requesting [help from the community](#5-request-help-from-the-community).
**Nice to have**
1. Label the issue `priority/nice-to-have`.
-1. Consider requesting [help from the community](#5-requesting-help-from-the-community).
+1. Consider requesting [help from the community](#5-request-help-from-the-community).
**Not critical, but unsure?**
diff --git a/contribute/backend/database.md b/contribute/backend/database.md
index 16965d0ba98..c40caa3dee9 100644
--- a/contribute/backend/database.md
+++ b/contribute/backend/database.md
@@ -18,7 +18,7 @@ Grafana uses the [XORM](https://xorm.io) framework for persisting objects to the
> **Deprecated:** We are deprecating `sqlstore` handlers in favor of using the `SQLStore` object directly in each service. Since most services still use the `sqlstore` handlers, we still want to explain how they work.
-The `sqlstore` package allows you to register [command handlers](communication.md#handle-commands) that either store or retrieve objects from the database. The `sqlstore` handlers are similar to services:
+The `sqlstore` package allows you to register [command handlers](communication.md#commands-and-queries) that either store or retrieve objects from the database. The `sqlstore` handlers are similar to services:
- [Services](services.md) are command handlers that _contain business logic_.
- `sqlstore` handlers are command handlers that _access the database_.
@@ -30,7 +30,7 @@ The `sqlstore` package allows you to register [command handlers](communication.m
To register a handler:
- Create a new file, `myrepo.go`, in the `sqlstore` package.
-- Create a [command handler](communication.md#handle-commands).
+- Create a [command handler](communication.md#commands-and-queries).
- Register the handler in the `init` function:
```go
@@ -60,7 +60,7 @@ type MyService struct {
}
```
-You can now make SQL queries in any of your [command handlers](communication.md#handle-commands) or [event listeners](communication.md#subscribe-to-an-event):
+You can now make SQL queries in any of your [command handlers](communication.md#commands-and-queries) or [event listeners](communication.md#subscribe-to-an-event):
```go
func (s *MyService) DeleteDashboard(ctx context.Context, cmd *models.DeleteDashboardCommand) error {
@@ -107,7 +107,7 @@ To add a migration:
### Implement `DatabaseMigrator`
-During initialization, SQL store queries the service registry, and runs migrations for every service that implements the [DatabaseMigrator](https://github.com/grafana/grafana/blob/44c2007498c76c2dbb48e8366b4af410f1ee1b98/pkg/registry/registry.go#L101-L106) interface.
+During initialization, SQL store queries the service registry, and runs migrations for every service that implements the [DatabaseMigrator](https://github.com/grafana/grafana/blob/d27c3822f28e5f26199b4817892d6d24a7a26567/pkg/registry/registry.go#L46-L50) interface.
To add a migration:
diff --git a/contribute/backend/instrumentation.md b/contribute/backend/instrumentation.md
index 5960137c372..b2cd4d64869 100644
--- a/contribute/backend/instrumentation.md
+++ b/contribute/backend/instrumentation.md
@@ -55,7 +55,7 @@ When should you use each log level?
Use a contextual logger to include additional key/value pairs attached to `context.Context`. For example, a `traceID`, used to allow correlating logs with traces, correlate logs with a common identifier, either or both.
-You must [Enable tracing in Grafana](#2-enable-tracing-in-grafana) to get a `traceID`.
+You must [Enable tracing in Grafana](#enable-tracing-in-grafana) to get a `traceID`.
For example:
@@ -156,7 +156,7 @@ A distributed trace is data that tracks an application request as it flows throu
### Usage
-Grafana uses [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. There's an interface `Tracer` in the `pkg/infra/tracing` package that implements the [OpenTelemetry Tracer interface](go.opentelemetry.io/otel/trace), which you can use to create traces and spans. To access `Tracer` you need to get it injected as a dependency of your service. Refer to [Services](services.md) for more details. For more information, you may also refer to [The OpenTelemetry documentation](https://opentelemetry.io/docs/instrumentation/go/manual/).
+Grafana uses [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. There's an interface `Tracer` in the `pkg/infra/tracing` package that implements the [OpenTelemetry Tracer interface](https://pkg.go.dev/go.opentelemetry.io/otel/trace), which you can use to create traces and spans. To access `Tracer` you need to get it injected as a dependency of your service. Refer to [Services](services.md) for more details. For more information, you may also refer to [The OpenTelemetry documentation](https://opentelemetry.io/docs/instrumentation/go/manual/).
For example:
@@ -269,7 +269,7 @@ attribute.Key("org_id").Int64(proxy.ctx.SignedInUser.OrgID)
make devenv sources=jaeger
```
-1. Enable tracing in Grafana
+1. Enable tracing in Grafana
To enable tracing in Grafana, you must set the address in your `config.ini` file:
diff --git a/contribute/backend/services.md b/contribute/backend/services.md
index 29668768a72..0bf6aa00cfe 100644
--- a/contribute/backend/services.md
+++ b/contribute/backend/services.md
@@ -121,7 +121,7 @@ For an example of the `IsDisabled` method and custom initialization code when th
## Run Wire (generate code)
-Running `make run` calls `make gen-go` on the first run. The `gen-go` in turn calls the Wire binary and generates the code in [`wire_gen.go`](/pkg/server/wire_gen.go) and [`wire_gen.go`](/pkg/cmd/grafana-cli/runner/wire_gen.go). The Wire binary is installed using [`bingo`](https://github.com/bwplotka/bingo) which downloads and installs all the tools needed, including the Wire binary at the specified version.
+Running `make run` calls `make gen-go` on the first run. The `gen-go` in turn calls the Wire binary and generates the code in [`wire_gen.go`](/pkg/server/wire_gen.go). The Wire binary is installed using [`bingo`](https://github.com/bwplotka/bingo) which downloads and installs all the tools needed, including the Wire binary at the specified version.
## OSS vs. Enterprise
diff --git a/contribute/merge-pull-request.md b/contribute/merge-pull-request.md
index fb8131c9a67..0e60768892f 100644
--- a/contribute/merge-pull-request.md
+++ b/contribute/merge-pull-request.md
@@ -30,7 +30,7 @@ The pull request title should be formatted according to `: ` (Bot
Keep the summary short and understandable for the community as a whole.
-All commits in a pull request are squashed when merged and the pull request title will be the default subject line of the squashed commit message. It's also used for the [changelog](#include-in-changelog-and-release-notes).
+All commits in a pull request are squashed when merged and the pull request title will be the default subject line of the squashed commit message. It's also used for the [changelog](#what-to-include-in-changelog-and-release-notes).
**Example:**
@@ -40,7 +40,7 @@ See [formatting guidelines](create-pull-request.md#formatting-guidelines) for mo
### Assign a milestone (automated)
-The Grafana release process uses a bot to automatically assign pull requests to a milestone to make it easier for release managers to track changes. For example, [generating changelog (release note)](#include-in-changelog-and-release-notes) must be in a milestone.
+The Grafana release process uses a bot to automatically assign pull requests to a milestone to make it easier for release managers to track changes. For example, [generating changelog (release note)](#what-to-include-in-changelog-and-release-notes) must be in a milestone.
That being said, _you don't have to assign a milestone manually_ to a pull request. Instead, when it is merged and closed, a bot will then look for the most appropriate milestone and assign it to the pull request.
@@ -104,7 +104,7 @@ In case the pull request introduces a deprecation you should document this. Labe
```
-**Breaking changes:**
+**Breaking changes:**
In case the pull request introduces a breaking change you should document this. Label the pull request with `add to changelog` and `breaking change` and use the following template at the end of the pull request description describing the breaking change:
diff --git a/contribute/style-guides/styling.md b/contribute/style-guides/styling.md
index 4393814d376..791cdff37aa 100644
--- a/contribute/style-guides/styling.md
+++ b/contribute/style-guides/styling.md
@@ -4,7 +4,7 @@
## Usage
-For styling components, use [Emotion's `css` function](https://emotion.sh/docs/emotion#css).
+For styling components, use [Emotion's `css` function](https://emotion.sh/docs/@emotion/css#css).
### Basic styling
diff --git a/contribute/triage-issues.md b/contribute/triage-issues.md
index e4832681f79..57ab47c7913 100644
--- a/contribute/triage-issues.md
+++ b/contribute/triage-issues.md
@@ -7,7 +7,7 @@ Triage helps ensure that GitHub issues resolve quickly by:
- Lowering the issue count by preventing duplicate issues.
- Streamlining the development process by preventing duplicate discussions.
-This document gives you some ideas on what you can do to help. For more information, read more about [how the core Grafana team triage issues](/ISSUE_TRIAGE.md).
+This document gives you some ideas on what you can do to help. For more information, read more about [how the core Grafana team triage issues](/contribute/ISSUE_TRIAGE.md).
## Improve issues
@@ -23,9 +23,9 @@ Investigate issues that we haven't been able to reproduce yet. In some cases, th
## Vote on issues
-Use [GitHub reactions](https://help.github.com/en/articles/about-conversations-on-github#reacting-to-ideas-in-comments) to let us know what's important to you. Vote on bugs if you've experienced the same problem. **Don't vote, or react, by commenting on the issue.**
+Use [GitHub reactions](https://github.blog/news-insights/product-news/add-reactions-to-pull-requests-issues-and-comments/) to let us know what's important to you. Vote on bugs if you've experienced the same problem. **Don't vote, or react, by commenting on the issue.**
-Read more about [how we prioritize issues](/ISSUE_TRIAGE.md#4-prioritization-of-issues).
+Read more about [how we prioritize issues](/contribute/ISSUE_TRIAGE.md#4-prioritization-of-issues).
## Report duplicates