Skip to content

Dynamic table name resolution#10

Merged
ag-ramachandran merged 8 commits intomainfrom
feature/dynamic-table-name
Feb 9, 2026
Merged

Dynamic table name resolution#10
ag-ramachandran merged 8 commits intomainfrom
feature/dynamic-table-name

Conversation

@tanmaya-panda1
Copy link
Contributor

This pull request introduces dynamic table name resolution to the Kusto Fluentd output plugin, allowing logs to be routed to different tables based on Fluentd tags using placeholders in the table_name parameter. The changes are backwards compatible and include comprehensive documentation and tests for the new feature.

Dynamic Table Name Routing

  • Added support for placeholder-based table name resolution in the table_name parameter, enabling routing to different tables based on tag components (e.g., ${tag}, ${tag_parts[N]}, ${tag_prefix[N]}, ${tag_suffix[N]}). This logic is implemented in the new resolve_table_name method in out_kusto.rb.
  • Updated all ingestion and write methods (process, write, try_write) to use the dynamically resolved table name instead of a static value. [1] [2] [3] [4]

Documentation and Release

  • Enhanced the README.md to document dynamic table name resolution, including usage examples, supported placeholders, and migration notes.
  • Updated the release notes and installation instructions for version v1.1.0-beta, highlighting the new dynamic table routing feature. [1] [2]
  • Bumped the plugin version to 1.1.0-beta in kusto_version.rb.

Testing

  • Added a comprehensive test suite (test_out_kusto_resolve_table_name.rb) to validate table name resolution logic, edge cases, and integration with ingestion methods.

Internal Refactoring

  • Refactored internal variable usage to distinguish between the table name template (with possible placeholders) and the resolved table name. Adjusted related logic in out_kusto.rb and check_data_on_server to use the template for query construction. [1] [2]

@github-actions
Copy link

github-actions bot commented Feb 3, 2026

Test Results

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
0 files   ±0   0 ❌ ±0 

Results for commit 388c5d3. ± Comparison against base commit 60fbebe.

♻️ This comment has been updated with latest results.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds dynamic table name resolution to the Kusto Fluentd output plugin, enabling logs to be routed to different Kusto tables based on Fluentd tag patterns using placeholders like ${tag}, ${tag_parts[N]}, ${tag_prefix[N]}, and ${tag_suffix[N]}.

Changes:

  • Added resolve_table_name method to dynamically resolve table names from templates with placeholder support
  • Updated ingestion methods (process, write, try_write) to use resolved table names
  • Refactored internal variable from @table_name to @table_name_template to distinguish between templates and resolved names

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
lib/fluent/plugin/out_kusto.rb Core implementation of dynamic table name resolution with resolve_table_name method and integration into ingestion paths
test/plugin/test_out_kusto_resolve_table_name.rb Comprehensive test suite covering placeholder resolution, edge cases, and integration with ingestion methods
lib/fluent/plugin/kusto_version.rb Version bump to 1.1.0-beta
README.md Documentation of dynamic table name feature with examples, supported placeholders, and release notes
Gemfile.lock Updated gem version to 1.1.0.pre.beta

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ag-ramachandran ag-ramachandran merged commit 348d215 into main Feb 9, 2026
4 checks passed
@ag-ramachandran ag-ramachandran deleted the feature/dynamic-table-name branch February 9, 2026 15:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants