* feat(ui): add Ask AI to code block controls menu
Add an "Ask AI" option to the code controls dropdown menu on all code
blocks. Uses data-ask-ai-query attribute if provided by the template,
otherwise builds a query from the code content. Delegates to the
existing Kapa widget integration via the ask-ai-open click handler.
* fix(ui): fix Ask AI code control and add e2e tests
## Summary
- Add "Ask AI" option to the code controls dropdown (three-dot menu) on all code blocks
- Uses `data-ask-ai-query` attribute from the template if available, otherwise builds a query from the code content
- Delegates to the existing Kapa widget via the `ask-ai-open` click handler contract
- Reorder menu items: Copy → Ask AI → Fill window
## Bug fix
Fix Ask AI button not opening the Kapa widget. jQuery `.trigger('click')`
doesn't dispatch native DOM events, so the native
`document.addEventListener` in ask-ai-trigger.js never received the click.
Switch to native `.click()` and remove `href="#"` to prevent scroll-to-top.
## Tests
Add Cypress e2e test suite (`code-controls.cy.js`) with 16 tests covering:
- Initialization: code blocks wrapped, controls appended, menu item order
- Toggle: open/close on click, close on outside click, independent menus
- Copy to clipboard: success lifecycle, revert after timeout
- Fullscreen: modal open/close, body scroll lock, placeholder restore
- Ask AI: Kapa modal opens, query built with code content (MutationObserver)
* fix(ui): apply icon spacing to all code control menu items
Move .cf-icon margin-right rule from .copy-code and .fullscreen-toggle
to the shared li level so it applies to all menu items including Ask AI.
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fix(ui): add keyboard accessibility to code controls menu
Replace clickable <span> and <li> elements with proper <button> elements
and ARIA roles for keyboard and assistive-technology access:
- Toggle: <span> → <button> with aria-label and aria-expanded
- Menu items: <li> → <li role="none"><button role="menuitem">
- Menu: <ul> gets role="menu"
- SCSS: add :focus-visible styles, reset button defaults
- JS: toggle handler updates aria-expanded on open/close
Also fix tests to match actual behavior:
- Remove bogus "close other menus" test that manually closed first menu
before opening second (tested nothing)
- Remove duplicate "close on re-click" test (same as outside-click)
- Add "keep menu open when copy is clicked" (stopPropagation behavior)
- Add accessibility markup validation test
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fix(ent3): Add link target and experimental caution for PachaTree option.
* feat(ent3): add experimental badge for --use-pacha-tree
Document the experimental PachaTree storage engine option with a
styled badge and caution callout. Add reusable .badge.experimental
class using the existing caution color palette for light/dark modes.
- Add experimental badge to serve options table and config-options
- Add badge theme variables referencing $article-caution-* colors
- Use custom heading ID to preserve #use-pacha-tree anchor
* fix(version-detector): use centralized getGrafanaLink for all Grafana URLs
Refactor handleAuthorizationHelp to use getGrafanaLink() instead of
hardcoded URLs, ensuring all Grafana links come from a single source.
Also fix incorrect URLs in getGrafanaLink mapping:
- InfluxDB OSS 2.x: /visualize-data/ → /tools/
- InfluxDB Enterprise: /influxdb/enterprise/ → /enterprise_influxdb/v1/
- InfluxDB Cloud (TSM): /visualize-data/ → /tools/
- InfluxDB Cloud v1: now links to Enterprise v1 docs (Cloud v1 is
Enterprise under the hood)
* refactor(version-detector): DRY up localhost:8086 references
Extract HOST_EXAMPLES to a class-level constant and add DEFAULT_HOST
and DEFAULT_HOST_PORT constants to eliminate duplicate localhost:8086
strings throughout the code.
- Move hostExamples from local variable to class constant
- Use DEFAULT_HOST for URL placeholder and comparison checks
- Use DEFAULT_HOST_PORT for docker curl command examples
* feat(ask-ai): Support source group IDs in Ask AI trigger links
* feat(version-detector): Present context-aware links
- Add ai_source_group_ids fields to ProductConfig interface
- Improve SCSS for doc and Ask AI links
- Update Grafana docs to add aliases and context param for detector
- Update modal partial to include AI source group IDs in config
- Remove custom Cypress commands for version detector
- Update E2E tests to use direct Cypress commands
* feat(llms): LLM-friendly Markdown, ChatGPT and Claude links.
This enables LLM-friendly documentation for entire sections,
allowing users to copy complete documentation sections with a single click.
Lambda@Edge now generates .md files on-demand with:
- Evaluated Hugo shortcodes
- Proper YAML frontmatter with product metadata
- Clean markdown without UI elements
- Section aggregation (parent + children in single file)
The llms.txt files are now generated automatically during build from
content structure and product metadata in data/products.yml, eliminating
the need for hardcoded files and ensuring maintainability.
**Testing**:
- Automated markdown generation in test setup via cy.exec()
- Implement dynamic content validation that extracts HTML content and
verifies it appears in markdown version
**Documentation**:
Documents LLM-friendly markdown generation
**Details**:
Add gzip decompression for S3 HTML files in Lambda markdown generator
HTML files stored in S3 are gzip-compressed but the Lambda was attempting
to parse compressed data as UTF-8, causing JSDOM to fail to find article
elements. This resulted in 404 errors for .md and .section.md requests.
- Add zlib gunzip decompression in s3-utils.js fetchHtmlFromS3()
- Detect gzip via ContentEncoding header or magic bytes (0x1f 0x8b)
- Add configurable DEBUG constant for verbose logging
- Add debug logging for buffer sizes and decompression in both files
The decompression adds ~1-5ms per request but is necessary to parse
HTML correctly. CloudFront caching minimizes Lambda invocations.
Await async markdown conversion functions
The convertToMarkdown and convertSectionToMarkdown functions are async
but weren't being awaited, causing the Lambda to return a Promise object
instead of a string. This resulted in CloudFront validation errors:
"The body is not a string, is not an object, or exceeds the maximum size"
**Troubleshooting**:
- Set DEBUG for troubleshooting in lambda
* feat(llms): Add build-time LLM-friendly Markdown generation
Implements static Markdown generation during Hugo build.
**Key Features:**
- Two-phase generation: HTML→MD (memory-bounded), MD→sections (fast)
- Automatic redirect detection via file size check (skips Hugo aliases)
- Product detection using compiled TypeScript product-mappings module
- Token estimation for LLM context planning (4 chars/token heuristic)
- YAML serialization with description sanitization
**Performance:**
- ~105 seconds for 5,000 pages + 500 sections
- ~300MB peak memory (safe for 2GB CircleCI environment)
- 23 files/sec conversion rate with controlled concurrency
**Configuration Parameters:**
- MIN_HTML_SIZE_BYTES (default: 1024) - Skip files below threshold
- CHARS_PER_TOKEN (default: 4) - Token estimation ratio
- Concurrency: 10 workers (CI), 20 workers (local)
**Output:**
- Single pages: public/*/index.md (with frontmatter + content)
- Section bundles: public/*/index.section.md (aggregated child pages)
**Files Changed:**
- scripts/build-llm-markdown.js (new) - Main build script
- scripts/lib/markdown-converter.cjs (renamed from .js) - Core conversion
- scripts/html-to-markdown.js - Updated import path
- package.json - Updated exports for .cjs module
Related: Replaces Lambda@Edge on-demand generation (5s response time)
with build-time static generation for production deployment.
feat(deploy): Add staging deployment workflow and update CI
Integrates LLM markdown generation into deployment workflows with
a complete staging deployment solution.
**CircleCI Updates:**
- Switch from legacy html-to-markdown.js to optimized build:md
- 2x performance improvement (105s vs 200s+ for 5000 pages)
- Better memory management (300MB vs variable)
- Enables section bundle generation (index.section.md files)
**Staging Deployment:**
- New scripts/deploy-staging.sh for local staging deploys
- Complete workflow: Hugo build → markdown gen → S3 upload
- Environment variable driven configuration
- Optional step skipping for faster iteration
- CloudFront cache invalidation support
**NPM Scripts:**
- Added deploy:staging command for convenience
- Wraps deploy-staging.sh script
**Documentation:**
- Updated DOCS-DEPLOYING.md with comprehensive guide
- Merged staging/production workflows with Lambda@Edge docs
- Build-time generation now primary, Lambda@Edge fallback
- Troubleshooting section with common issues
- Environment variable reference
- Performance metrics and optimization tips
**Benefits:**
- Manual staging validation before production
- Consistent markdown generation across environments
- Faster CI builds with optimized script
- Better error handling and progress reporting
- Section aggregation for improved LLM context
**Usage:**
```bash
export STAGING_BUCKET="test2.docs.influxdata.com"
export AWS_REGION="us-east-1"
export STAGING_CF_DISTRIBUTION_ID="E1XXXXXXXXXX"
yarn deploy:staging
```
Related: Completes build-time markdown generation implementation
refactor: Remove Lambda@Edge implementation
Build-time markdown generation has replaced Lambda@Edge on-demand
generation as the primary method. Removed Lambda code and updated
documentation to focus on build-time generation and testing.
Removed:
- deploy/llm-markdown/ directory (Lambda@Edge code)
- Lambda@Edge section from DOCS-DEPLOYING.md
Added:
- Testing and Validation section in DOCS-DEPLOYING.md
- Focus on build-time generation workflow
* feat: Add Rust HTML-to-Markdown prototype
Implements core markdown-converter.cjs functions in Rust for performance comparison.
Performance results:
- Rust: ~257 files/sec (10× faster)
- JavaScript: ~25 files/sec average
Recommendation: Keep JavaScript for now, implement incremental builds first.
Rust migration provides 10× speedup but requires 3-4 weeks integration effort.
Files:
- Cargo.toml: Rust dependencies (html2md, scraper, serde_yaml, clap)
- src/main.rs: Core conversion logic + CLI benchmark tool
- benchmark-comparison.js: Side-by-side performance testing
- README.md: Comprehensive findings and recommendations
* fix(ui): improve dropdown positioning on viewport resize
- Ensure dropdown stays within viewport bounds (min 8px padding)
- Reposition dropdown on window resize and scroll events
- Clean up event listeners when dropdown closes
* chore(deps): add remark and unified packages for markdown processing
Add remark-parse, remark-frontmatter, remark-gfm, and unified for
enhanced markdown processing capabilities.
* fix(edge): add return to prevent trailing-slash redirect for valid extensions
Without the return statement, the Lambda@Edge function would continue
executing after the callback, eventually hitting the trailing-slash
redirect logic. This caused .md files to redirect to URLs with trailing
slashes, which returned 404 from S3.
* fix(md): add built-in product mappings and full URL support
- Add URL_PATTERN_MAP and PRODUCT_NAME_MAP constants directly in the
CommonJS module (ESM product-mappings.js cannot be require()'d)
- Update generateFrontmatter() to accept baseUrl parameter and construct
full URLs for the frontmatter url field
- Update generateSectionFrontmatter() similarly for section pages
- Update all call sites to pass baseUrl parameter
This fixes empty product fields and relative URLs in generated markdown
frontmatter when served via Lambda@Edge.
* feat(md): add environment flag for base URL control
Add -e, --env flag to html-to-markdown.js to control the base URL
in generated markdown frontmatter. This matches Hugo's -e flag behavior
and allows generating markdown with staging or production URLs.
Also update build-llm-markdown.js with similar environment support.
* feat(md): add Rust markdown converter and improve validation
- Add Rust-based HTML-to-Markdown converter with NAPI-RS bindings
- Update Cypress markdown validation tests
- Update deploy-staging.sh with force upload flag
* deploy-staging.sh:
- Defaults STAGING_URL to https://test2.docs.influxdata.com
if not set
- Exports it so yarn build:md -e staging can use it
- Displays it in the summary
* Delete scripts/prototypes/rust-markdown/benchmark-comparison.js
* Delete scripts/prototypes directory
* fix(llms): Include full URL for section page Markdown and list of child pages
* feat(llms): clarify format selector text for AI use case
Update button and dropdown text to make the AI/LLM purpose clearer:
- Button: "Copy page for AI" / "Copy section for AI"
- Sublabel: "Clean Markdown optimized for AI assistants"
- Section sublabel: "{N} pages combined as clean Markdown for AI assistants"
Cypress tests updated and passing (13/13).
---------
Co-authored-by: Scott Anderson <scott@influxdata.com>
Creates an interactive InfluxDB version detector component in TypeScript and a shortcode that generates a button to trigger
the version detector modal.
The shortcode takes a parameter that displays a predefined set of links for results.
- Support URL pattern matching and ping header analysis
- Add questionnaire-based product identification logic
- Adds the shortcode in a note in /influxdb3/core/visualize-data/grafana/
- Set up TypeScript configuration for the project
- Configure automatic TypeScript compilation in pre-commit hooks
- Add to Grafana documentation pages
- Remove last remnants of old Cypress link checker
- Add Cypress tests, but many are still broken
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Apply suggestions from code review
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Update layouts/shortcodes/influxdb-version-detector.html
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Update assets/js/influxdb-version-detector.ts
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Update assets/styles/components/_influxdb-version-detector.scss
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Fixes:
- Fix Hugo template to include product names in detector config
- Change elimination scores from -100 to -1000 for proper filtering
- Add scoring logic for generic "InfluxDB" product (OSS v2.x)
- Exclude generic "InfluxDB" from results (too vague)
- Add comprehensive test scenario checklist to Cypress tests
- Free license now correctly excludes Enterprise, Clustered, Dedicated
- Self-hosted now correctly excludes all Cloud products
- SQL language now correctly excludes v1 and v2 products
- Results now show only specific products (OSS 1.x, OSS 2.x, etc.)
Changes:
- When users answer "I'm not sure" to all questions, show a helpful
message directing them to the reference table instead of showing
a weak ranking with low confidence.
- Detect when all questionnaire answers are "unknown"
- Display custom message explaining lack of information
- Auto-expand reference table for easy product identification
- Hide ranked results when insufficient information provided
- Make product names clickable in the quick reference table to allow
users to quickly navigate to product documentation after identifying
their InfluxDB version.
- Install Enterprise
- Admin license
- If only one pagination button (prev or next), allow it to fill the width.
- Combines core and enterprise install into a shared page.
- When span.current-timestamp (and related shortcodes) are children of .article--content, the text isn't visible in the dark theme--it blends with the background.
- Add specific style settings for datetime shortcodes so that the timestamp text is visible outside of a table.
- Fixes dynamic loading of Mermaid.js
- Adds MutationObserver to handle light/dark theme switching.
- Sets the background-color for edgeLabel p elements to override a white background that obscures text in the dark theme.
* update: start explorer docs
* fix(explorer): Add Explorer to products.yml, move to version folder, add get-started step nav, cleanup
* Updated explorer directory structure, homepage, and beta styling (#6108)
* updated explorer dirctory struction, homepage, and beta styling
* clean up homepage state tags
* Add InfluxDB 3 Explorer installation documentation (#6111)
* InfluxDB 3 Explorer installation instructions
* fixed broken links
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* update: add getting started video
* updated to address PR feedback
* adjust page weights for explorer docs
* other minor updates
* more minor updates
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Peter Barnett <peter.barnett03@gmail.com>
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Continue refactoring JavaScript into a component pattern and ESM.
Replaces some jQuery with native DOM API.
chore(ai): reference documentation and instructions for training AI
chore(ai): implement Kapa AI chat widget
- Move script tag to HTML template to make it obvious.
- Cleanup javascript to make it more component-like
- Set Kapa attributes, support setting userid
chore(js): add JS dependencies, previously referenced in script tags, to package.json for JS builds.
fix(api): indents
chore(js): package Mermaid diagram library
chore(js): refactor JS for AIChat and Theme as examples of using the component pattern for HTML/CSS/JS
chore(js): Use the new local-storage API in refactored module code and in code not yet ported. Cleanup syntax in local-storage and make functions available from window.LocalStorageAPI.
fix(js): theme.js name-change
chore(js): fix ai-chat.js file name
fix(js): refactor:
- componentNames are snakecase in HTML
- replace DOM selection method and jQuery eventhandler assignment
- remove old theme.js references
chore(ai): configure chat window overlay, size, and position:
- removes overlay and scroll lock
- positions chat to the right and bottom
- expands sample question width to 12 cols
chore(ai): edit disclaimer
fix(ai): size and position
chore(js): make ai-chat specific to configuration and and setting userid (for testing and future use).
fix(js): copy referrerHost variable to v3-wayfinding instead of relying on influxdb-url to assign it.
chore(ai): add a footer div at page bottom to contain modal triggers for custom-time and ask-ai. Still needs some CSS help. Moves tooltip text from CSS to HTML data attribute.
chore(ai): dynamically load AI script tag after DOMContentLoaded to avoid race conditions. Call initialization from the modal trigger module and pass the show trigger function to the onload handler.
fix(ai): fix modal triggers to viewport
fix(modal-triggers): stack the triggers into a single column.
restyle footer widgets
updated time selector modal to use correct storage term
minor style update
WIP(ai-chat): get product data
chore(js): Factor out pageContext module from influxdb-url.js
chore(js): Refactor helpers.js out of inflluxdb-url.js
WIP: refactor influxdburl - minimal changes for module conversions
feat(ai): Custom AI chat example questions product and version.
Ask AI example questions:
- Adds support for customizing example Ask AI questions per product or version.
- Configure questions in site `data/products.yml`; otherwise, it uses default questions from `ask-ai.js`
Context, page, and product data:
- Adds sample URLs for remaining versions in influxdb_urls
- `page-context.js` consolidates and exports constants for page context (protocol, host, path, referrer) and path-to-data mappings for product and influxdb_url site data
Module refactor:
- Refactors some JavaScript into ES6 modules, and refactors some of those further into a Component pattern--just vanilla JS and no shadow DOM stuff. The Component pattern that uses data attributes to "bind" JavaScript modules with CSS and HTML is a popular approach in modern web development. This pattern enhances modularity, reusability, and maintainability by associating behavior (JavaScript), structure (HTML), and style (CSS) through the use of data attributes.
- `assets/main.js` is the entrypoint
- Passes pageParams from the Hugo page to modules that import `@params`.
- Moves most external dependencies out of `script` tags and into package.json to be managed with `yarn`.
- Adds `eslint`.
- For modules that aren't yet components, wraps execution statements inside an `initialize()` function and calls the function from `main.js` on `DOMContentLoaded`.
- For components, if the page contains the `data-component="<component-name>"`, the matching element is passed to the component function on `DOMContentLoaded`.
- I tried to avoid changing logic where it wasn't necessary.
Update DOC_GPT_PROFILE.md
customize ai chat modal styles
fix(influxdb-url): Rename to cloud_dedicated in influxdb_urls.yml, remove newly added placeholder URL and use the extant default, refactor
- Rename to in influxdb_urls.yml
- Fix influxdb-url.js and data provision in local-storage.js to use the new name, mapping it to to retain the existing local storage key
chore(api-lib): Use local-storage import instead of window global
chore(js): cleanup
fix(js): Ensure feature-callout initializes on page load
fix(theme): Load preferred theme before making the page visible. Execute a predefined function by specifying the function name in data-theme-callback
fix(search-toggle): Restores toggling the search field when sidebar is collapsed. Moves the event handler to a new search-button component
fix(ai): Fix custom attribute assignment. Rename property to ai_example_questions
Include the word `Bearer` or `Token`, a space, and your **token** value (all case-sensitive). Fix TOC links.
Fixes#5781
fix(api-docs): Update API reference directories and generation script for influxdb3 URL paths, update links and names in reference content
fix(api-ref): Update getswagger.sh destination paths to use the new directory structure when fetching spec files. Update the redocly plugin module path.
hotfix: fix hlevel bug in children shortcode
Remove underline from custom time widget
add color to custom time widget styling
* base content for influxdb3 query guides
* added enterprise versions of query guides
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* update template titles to use .RenderString
---------
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* implement github style markdown alerts
* hide example doc
* swapped note and tip color schemes
* fixed broken v2 icons
* marked example as draft
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
---------
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* added influxdb clustered release notes and release-toc shortcode
* added comments to release-toc js
* chore(influxql): Test and improve InfluxQL functions with regex arguments
- Part of investigation into https://github.com/influxdata/DAR/issues/434
- Tested using regex function arguments in InfluxQL functions in InfluxDB v1
and v2.
- Add test setup and a test for v2
- Add examples for v2
- Update lint and test configs
* chore: tidy functions and remind me where the jQuery is (#5593)
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* add notification for clustered ga and v3 features announcement
* updated scope of clustered ga announcement
* Update notifications.yaml
* Update notifications.yaml
* manage clustered users
* added related links to clustered user management
* add back link to clustered manage users
* fixed typos, added links
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* remove unnecessary test skip comments
---------
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
* Strategies to improve query performance: operations, number and size of parquet files
Fixes#5108
- Add query performance strategies to optimize-queries
* Apply suggestions from code review
* Apply suggestions from code review
* Update content/influxdb/cloud-dedicated/query-data/execute-queries/optimize-queries.md
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
* chore(v3): WIP query perf
Fixes#5108
* chore(v3): WIP: Query performance
* chore(v3): WIP: Explain the EXPLAIN report and indicators of query expense, performance problems.
* WIP: optimize queries - how to read a query plan, operators
* WIP: Read a query plan example 2
* WIP: moved how to read a query plan to its own page.
* WIP(v3): operators
* chore(v3): WIP add query plan info from DataFusion slides and @NGA-TRAN
* chore(v3): WIP read a query plan - explain tree format and reorganize
* WIP: query plan
- Adds Query Plan reference
- Completes Analyze a Query Plan, pending cleanup, continue at :471
- Added image from Nga's blog
- Updates EXPLAIN doc
- TODO: Create public docs for
https://github.com/influxdata/docs.influxdata.io/blob/main/content/operations/specifications/iox_runbooks/slow-queries.md
* chore(spelling): Vale config changes
- Add vale to package.json and use Yarn to manage the binary. You can use `npx vale` to run manually.
- Move InfluxData spelling ignore list into the style.
- Reorganize custom (product) spelling lists to comply with Vale 3.x
- Add InfluxDB v3 terms
* chore(spelling): Vale config changes
- Add vale to package.json and use Yarn to manage the binary. You can use `npx vale` to run manually.
- Move InfluxData spelling ignore list into the style.
- Reorganize custom (product) spelling lists to comply with Vale 3.x
- Add InfluxDB v3 terms
* chore(v3): Reorg of query troubleshooting and optimizing docs
- Adds query-data/troubleshoot-and-optimize
- Splits optimize docs into troubleshoot and optimize docs
- Moves Flight response doc to flight-responses.md
* chore: Fixes broken links, typos, missing content, etc.
- Fixes various errors and style violations reported by Vale.
- Fixes broken links and missing content in glossaries.
- Fixes missing and extraneous whitespace.
* Apply suggestions from code review
* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/analyze-query-plan.md
* chore(clustered): Query plan: Apply review suggestions
Co-Authored-By: Nga Tran <20850014+NGA-TRAN@users.noreply.github.com>
* feature(v3): Analyze a query plan:
- Apply code formatting to plan implementor names
- Simplify some points
- Add links
* add query plan html diagram (#5365)
* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/analyze-query-plan.md
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/optimize-queries.md
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/trace.md
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/trace.md
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Update content/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/trace.md
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* Update content/influxdb/cloud-serverless/query-data/troubleshoot-and-optimize/analyze-query-plan.md
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* fix(v3): finish the EXPLAIN descriptions and examples
* chore(tests): Setup a python venv in test containers
* fix(ci): Vale vocab
* fix(v3): Punctuation typo
* chore(ci): Update README
* fix(v3): Apply review suggestions and capitalization
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* fix(v3): Add note to optimize page and revise troubleshoot
* fix(v3): optimize-queries link
---------
Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Co-authored-by: Nga Tran <20850014+NGA-TRAN@users.noreply.github.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* WIP restructuring of cookies to pull from a limited set of cookies
* WIP update cloud-urls.js to use new cookie api
* move api-libs-related js into own file
* minor updates to cookies.js
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* Update assets/js/notifications.js
* set get started date default to null
* remove line breaks in header js template
* Add cookie migration (#5323)
* migrate old cookies to new cookie structure
* set explicit expiration date on influxdata_docs_ported cookie
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* update description and verbiage in v3 wayfinding modal to address user feedback
* Update layouts/partials/footer/v3-wayfinding.html
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* WIP SQL operators
* add more descriptions for sql operators
* Apply suggestions from code review
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* port sql operator docs to serverless and clustered
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* WIP flux function list
* fix isset error with icon shortcode
* Update content/flux/v0/spec/variables.md
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
---------
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
* add influxctl release notes
* update influxctl release notes to address PR feedback
* fix typo in influxctl user list frontmatter
* port influctl release notes and changes to clustered