mirror of
https://github.com/withastro/astro.git
synced 2024-12-23 21:53:55 -05:00
108 lines
3.1 KiB
Markdown
108 lines
3.1 KiB
Markdown
# @astrojs/web-vitals (experimental) ⏱️
|
||
|
||
This **[Astro integration][astro-integration]** enables tracking real-world website performance and storing the data in [Astro DB][db].
|
||
|
||
## Pre-requisites
|
||
|
||
- [Astro DB](https://astro.build/db) — `@astrojs/web-vitals` will store performance data in Astro DB in production
|
||
- [An SSR adapter](https://docs.astro.build/en/guides/server-side-rendering/) — `@astrojs/web-vitals` injects a server endpoint to manage saving data to Astro DB
|
||
|
||
## Installation
|
||
|
||
1. Install and configure the Web Vitals integration using `astro add`:
|
||
|
||
```sh
|
||
npx astro add web-vitals
|
||
```
|
||
|
||
2. Push the tables added by the Web Vitals integration to Astro Studio:
|
||
|
||
```sh
|
||
npx astro db push
|
||
```
|
||
|
||
3. Redeploy your site.
|
||
|
||
4. Visit your project dashboard at https://studio.astro.build to see the data collected.
|
||
|
||
Learn more about [Astro DB](https://docs.astro.build/en/guides/astro-db/) and [deploying with Astro Studio](https://docs.astro.build/en/guides/astro-db/#astro-studio) in the Astro docs.
|
||
|
||
## Uninstalling
|
||
|
||
To remove the Web Vitals integration, follow the Astro DB deprecation process:
|
||
|
||
1. Mark the integration as deprecated in `astro.config.mjs`, by setting the `deprecated` option to `true`:
|
||
|
||
```js
|
||
import db from '@astrojs/db';
|
||
import webVitals from '@astrojs/web-vitals';
|
||
import { defineConfig } from 'astro/config';
|
||
|
||
export default defineConfig({
|
||
integrations: [
|
||
db(),
|
||
// Mark the web vitals integration as deprecated:
|
||
webVitals({ deprecated: true }),
|
||
],
|
||
// ...
|
||
});
|
||
```
|
||
|
||
2. Push the deprecation to Astro Studio:
|
||
|
||
```sh
|
||
npx astro db push
|
||
```
|
||
|
||
3. Remove the web vitals integration in `astro.config.mjs`:
|
||
|
||
```diff
|
||
import db from '@astrojs/db';
|
||
- import webVitals from '@astrojs/web-vitals';
|
||
import { defineConfig } from 'astro/config';
|
||
|
||
export default defineConfig({
|
||
integrations: [
|
||
db(),
|
||
- webVitals({ deprecated: true }),
|
||
],
|
||
// ...
|
||
});
|
||
```
|
||
|
||
4. Push the table deletion to Astro Studio:
|
||
|
||
```sh
|
||
npx astro db push
|
||
```
|
||
|
||
## Support
|
||
|
||
- Get help in the [Astro Discord][discord]. Post questions in our `#support` forum, or visit our dedicated `#dev` channel to discuss current development and more!
|
||
|
||
- Check our [Astro Integration Documentation][astro-integration] for more on integrations.
|
||
|
||
- Submit bug reports and feature requests as [GitHub issues][issues].
|
||
|
||
## Contributing
|
||
|
||
This package is maintained by Astro's Core team. You're welcome to submit an issue or PR! These links will help you get started:
|
||
|
||
- [Contributor Manual][contributing]
|
||
- [Code of Conduct][coc]
|
||
- [Community Guide][community]
|
||
|
||
## License
|
||
|
||
MIT
|
||
|
||
Copyright (c) 2023–present [Astro][astro]
|
||
|
||
[astro]: https://astro.build/
|
||
[db]: https://astro.build/db/
|
||
[contributing]: https://github.com/withastro/astro/blob/main/CONTRIBUTING.md
|
||
[coc]: https://github.com/withastro/.github/blob/main/CODE_OF_CONDUCT.md
|
||
[community]: https://github.com/withastro/.github/blob/main/COMMUNITY_GUIDE.md
|
||
[discord]: https://astro.build/chat/
|
||
[issues]: https://github.com/withastro/astro/issues
|
||
[astro-integration]: https://docs.astro.build/en/guides/integrations-guide/
|