2573cbec08
* Add shard query splitting implementation * Shard query splitting: reuse function from query splitting * Shard query splitting: remove max line limit * Shard query splitting: update test * Shard query splitting: fix types and non-sharded queries * Merge responses: fix log merging * Merge responses: remove legacy code * Query splitting: add support to retry failed requests * Query splitting: unit test request retrying * Query splitting: add unsubscriptions * Shard query splitting: fix retrying * Shard query splitting: switch to dynamic grouping * Shard query splitting: update group size thresholds and fix -1 query * Shard query splitting: update initial group size + don't retry parse errors * Shard query splitting: update unit test * chore: update mock value * Shard query splitting: add support for multiple targets * chore: update description * Shard query splitting: use group targets * chore: filter hidden queries * Shard query splitting: issue initial log query without sharding * Splitting: fix retrying in both methods * Merge responses: keep execution time * Shard query splitting: remove no-shard attempt * Shard query splitting: adjust groups based on rate of change * chore: clean up experiments * Shard query splittng: remove log query restrictions * Shard query splitting: remove fallback to time splitting * Loki: add new query direction * Missing generated file * LokiOptionField: integrate new query direction * Shard query splitting: delegate non-scan queries to time splitting * Query splitting: do not retry queries with parse errors * Loki datasource: add placeholder for feature flag * Shard query splitting: add function with support criteria * Shard query splitting: refactor query modification and shard logs volume * Shard query splitting: update unit tests * chore: Update scan direction tooltip * chore: formatting * LogsVolumePanel: fix missing state in logs volume panel data * Merge responses: better handle missing nanoseconds * LokiQueryOptionFields: display query direction for log queries * loki: process scan direction as backward * Loki datasource: restrict sharding to Explore * Retrying: invert criteria and move to response utils * Formatting * Use log volume refId constant * Fix import order * Create feature flag * Use feature toggle * LogsVolumePanel: prevent flashing no data while streaming |
||
---|---|---|
.. | ||
sources | ||
.codespellignore | ||
.gitignore | ||
docs.mk | ||
logo-horizontal-dark.png | ||
logo-horizontal.png | ||
make-docs | ||
Makefile | ||
README.md | ||
variables.mk |
Building the docs locally
When you contribute to documentation, it's a good practice to build the docs on your local machine to make sure your changes appear as you expect. This README explains the process for doing that.
To build a local version, you need to run a process in a Docker container.
Grafana periodically updates the Docker image, docs-base
, to update the styling of the Docs.
Requirements
- Docker >= 2.1.0.3
- Yarn >= 1.22.4
Build the doc site
First, make sure the Docker daemon is running on your machine. Then, follow these steps:
- On the command line, first change to the docs folder:
cd docs
. - Run
make docs
. This launches a preview of the website with the current grafana docs athttp://localhost:3002/docs/grafana/latest/
which will refresh automatically when changes are made to content in thesources
directory.
If you have the grafana/website repo checked out in the same directory as the grafana repo, then you can run make docs-local-static
to use local assets (such as images).
Content guidelines
Generally, one can edit content in the sources
directory.
The following paths are built instead from a typescript file and are auto-generated. Please do not edit these files directly. Instead, navigate to the appropriate typescript source file and edit the content there, then follow the build instructions to generate the markdown files.
Transformations
Auto-generated markdown location:
- docs/sources/panels-visualizations/query-transform-data/transform-data/index.md
Typescript location for editing and instructions:
- scripts/docs/generate-transformations.ts - Includes all content not specific to a transformation.
- public/app/features/transformers/docs/content.ts - Transformation-specific content.
Only use reference style links in the content.ts
file or else link text will be visible in the UI.
Contributing
Using relref
for internal links
Use the Hugo shortcode relref any time you are linking to other internal docs pages.
Syntax is:
{{< relref "example.md" >}}
You might need to add more context for the link (containing folders and so on, folder/example.md
) if Hugo says the relref is ambiguous.
Managing redirects
When moving content around or removing pages it's important that users following old links are properly redirected to the new location. We do this using the aliases feature in Hugo.
If you are moving a page, add an aliases
entry in the front matter referencing the old location of the page which will redirect the old url to the new location.
If you are removing a page, add an aliases
entry in the front matter of the most-applicable page referencing the location of the page being removed.
If you are copying an existing page as the basis for a new one, be sure to remove any aliases
entries in the front matter in your copy to avoid conflicting redirects.
Edit the side menu
The side menu is automatically build from the file structure. Use the weight front matter parameter to order pages.
To specify different menu text from the page title, use the front matter parameter menuTitle
.
Add images
Please see our help documentation on Image, diagram, and screenshot guidelines for comprehensive information.
Deploy changes to grafana.com
When a PR is merged with changes in the docs/sources
directory, those changes are automatically synced by a GitHub action (.github/workflows/publish.yml
) to the grafana/website repo.
- A PR that targets the
main
branch syncs to thecontent/docs/grafana/next
directory in thewebsite
repository, and publishes tohttps://grafana.com/docs/grafana/next/
. - A PR targeting the
latest/current
release branch syncs to thecontent/docs/grafana/latest
directory in thewebsite
repository, and publishes tohttps://grafana.com/docs/grafana/latest/
.
Once the sync is complete, the website will automatically publish to production - no further action is needed.