Skip to content

FPV Validation#617

Open
prasoonbirla-google wants to merge 27 commits intomainfrom
temp
Open

FPV Validation#617
prasoonbirla-google wants to merge 27 commits intomainfrom
temp

Conversation

@prasoonbirla-google
Copy link
Contributor

Title (Please follow the convention below)

Please use a clear and concise title that summarizes your changes.
If this PR is related to an internal Buganizer ticket, please include its ID at the beginning.

Convention: [Optional Buganizer ID: 123456789] Short, descriptive title of changes

Examples:

  • Fix: Resolve issue with API endpoint returning 500 error
  • [Buganizer ID: 987654321] Feature: Add support for custom data types
  • Docs: Update README with installation instructions

Description

Please provide a detailed description of your changes. This helps reviewers understand your work and its context.

What problem does this PR solve?
(e.g., "Fixes a bug where X was happening," "Implements feature Y to allow Z," "Improves performance of function A.")

How does this PR solve the problem?
(e.g., "Modified algorithm in src/foo.js," "Added new component Bar.vue," "Updated dependency baz to version 1.2.3.")

Any other relevant information (e.g., design choices, tradeoffs, known issues):
(e.g., "Chose approach A over B due to performance considerations," "This change might affect X in certain edge cases," "Requires manual migration steps for existing users.")


Checklist:

Please ensure you have completed the following items before submitting your PR.
This helps us review your contribution faster and more efficiently.

General Checks:

  • I have read and followed the project's contributing.md guide.
  • My code follows the project's coding style guidelines.
  • I have performed a self-review of my own code.
  • My changes do not introduce any new warnings.
  • My changes pass all existing tests.
  • I have added new tests where appropriate to cover my changes. (If applicable)
  • I have updated the documentation where necessary (e.g., README, API docs). (If applicable)

Open-Source Specific Checks:

  • My changes do not introduce any Personally Identifiable Information (PII) or sensitive customer data.
  • My changes do not expose any internal-only code examples, configurations, or URLs.
  • All code examples, comments, and messages are generic and suitable for a public repository.
  • I understand that any internal context or sensitive details related to this work are handled separately in internal systems (Buganizer for Google team members).

For Google Team Members and Reviewers Only:

  • I have included the Buganizer ID in the PR title or description (e.g., "Internal Buganizer ID: 123456789" or "Related Buganizer: go/buganizer/123456789").
  • I have ensured that all internal discussions and PII related to this work remain in Buganizer.
  • I have tagged the PR with one or more labels that reflect the pull request purpose.

Screenshots (If Applicable)

If your changes involve UI or visual elements, please include screenshots or GIFs here.
Ensure any sensitive data is redacted or generalized.


Further Comments / Questions

Any additional comments, questions, or areas where you'd like specific feedback.

@prasoonbirla-google prasoonbirla-google requested a review from a team as a code owner March 13, 2026 13:26
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on integrating a new placeholder log type, 'DUMMY_LOGTYPE', into the system. It includes all necessary components for a new log type, such as its parsing configuration, descriptive metadata, and a full set of test data to ensure proper functionality. This work appears to lay the groundwork or serve as an example for future log type additions. Additionally, a minor formatting change was applied to the project's contributing documentation.

Highlights

  • New Log Type Introduction: A new 'DUMMY_LOGTYPE' has been introduced, complete with its Logstash filter configuration for parsing specific log formats.
  • Comprehensive Test Data: Extensive metadata, raw log samples, and expected parsed event data have been added to support and validate the new 'DUMMY_LOGTYPE' parser.
  • Documentation Minor Update: A small formatting adjustment was made to the contributing guidelines documentation.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • content/parsers/third_party/community/DUMMY_LOGTYPE/cbn/dummy_logtype.conf
    • Added a new Logstash filter configuration for the DUMMY_LOGTYPE.
  • content/parsers/third_party/community/DUMMY_LOGTYPE/cbn/metadata.json
    • Added metadata for the DUMMY_LOGTYPE, including product, vendor, description, and verification status.
  • content/parsers/third_party/community/DUMMY_LOGTYPE/cbn/testdata/expected_events/test_events.json
    • Added expected event data for general testing of the DUMMY_LOGTYPE parser.
  • content/parsers/third_party/community/DUMMY_LOGTYPE/cbn/testdata/expected_events/usecase1_events.json
    • Added expected event data for a specific use case (usecase1) for the DUMMY_LOGTYPE parser.
  • content/parsers/third_party/community/DUMMY_LOGTYPE/cbn/testdata/raw_logs/test_log.json
    • Added raw log samples for general testing of the DUMMY_LOGTYPE parser.
  • content/parsers/third_party/community/DUMMY_LOGTYPE/cbn/testdata/raw_logs/usecase1_log.json
    • Added raw log samples for a specific use case (usecase1) for the DUMMY_LOGTYPE parser.
  • docs/contributing.md
    • Adjusted spacing under the 'Code Reviews' heading.
Activity
  • No specific activity (comments, reviews, etc.) has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds a new Logstash parser for DUMMY_LOGTYPE, including configuration, metadata, and test files. My review focuses on improving the Logstash configuration for correctness and maintainability, and cleaning up some issues in the test data and documentation. Key suggestions include removing unused field initializations, improving the grok filter logic, combining mutate blocks for efficiency, and addressing duplicated test files. I've also pointed out a minor typo and a formatting issue.

Comment on lines +13 to +22
grok {
match => {
"message" => [
"%{GREEDYDATA:event_data} \\| %{GREEDYDATA:kv_msg}"
]
}
overwrite => ["event_data" ,"msg" ,"kv_msg"]
on_error => "grok_failure"
}

Copy link
Contributor

Choose a reason for hiding this comment

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

high

There are a couple of improvements for this grok filter:

  1. The overwrite configuration includes msg, but the grok pattern does not generate a msg field. This can be confusing and should be removed.
  2. The grok filter may leave leading/trailing whitespace in the extracted fields event_data and kv_msg. This can cause issues with subsequent processing, such as the gsub filter. It's a good practice to strip whitespace from fields extracted by grok.
  grok {
    match => {
      "message" => [
        "%{GREEDYDATA:event_data} \| %{GREEDYDATA:kv_msg}"
      ]
    }
    overwrite => ["event_data", "kv_msg"]
    on_error => "grok_failure"
  }

  mutate {
    strip => ["event_data", "kv_msg"]
  }

Comment on lines +3 to +10
replace => {
"event_data" => ""
"productlogid" => ""
"kv_msg" => ""
"msg" => ""
"deviceCustomDate1" => ""
"rt" => ""
}
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The fields productlogid, deviceCustomDate1, and rt are initialized but are not used anywhere in this filter configuration. To keep the configuration clean and avoid confusion, it's best to remove these unused field initializations.

    replace => {
      "event_data" => "",
      "kv_msg" => "",
      "msg" => ""
    }

Comment on lines +48 to +58
mutate {
replace => {
"msg_label.key" => "msg"
}
}
mutate {
merge => {
"event.idm.read_only_udm.additional.fields" => "msg_label"
}
on_error => "msg_label_empty"
}
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

These two mutate blocks can be combined into a single one for better readability and slightly better performance by reducing the number of filter invocations.

      mutate {
        replace => {
          "msg_label.key" => "msg"
        }
        merge => {
          "event.idm.read_only_udm.additional.fields" => "msg_label"
        }
        on_error => "msg_label_empty"
      }

"@output" => "event"
}
}

Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This line contains trailing whitespace. Please remove it to maintain a consistent code style.

{
"product": "DUMMY Product",
"vendor": "Test Vendor",
"description": "Some sort of product from this vendorrrr.",
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

There appears to be a typo in the description. vendorrrr should likely be vendor.

Suggested change
"description": "Some sort of product from this vendorrrr.",
"description": "Some sort of product from this vendor.",

Comment on lines +1 to +38
{
"events": [
{
"event" : {
"timestamp": "2021-03-23T08:20:27.863384Z",
"idm": {
"read_only_udm": {
"metadata": {
"event_timestamp": "2021-03-23T08:20:27.863384Z",
"event_type": "GENERIC_EVENT",
"description": "No New Ingestion Activity"
},
"additional": {
"msg": "No reports have been ingested since MAR 23 2021 00:18:31."
}
}
}
}
},
{
"event" : {
"timestamp": "2021-03-23T08:20:27.863384Z",
"idm": {
"read_only_udm": {
"metadata": {
"event_timestamp": "2021-03-23T08:20:27.863384Z",
"event_type": "GENERIC_EVENT",
"description": "No New Ingestion Activity"
},
"additional": {
"msg": "No reports have been ingested since MAR 23 2021 00:18:32."
}
}
}
}
}
]
}
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This file is identical to test_events.json. Similarly, raw_logs/usecase1_log.json is identical to raw_logs/test_log.json. Each test case file should cover a unique scenario. If this is a placeholder, please update it with a distinct test case or remove it to avoid redundancy.

Comment on lines +54 to +55


Copy link
Contributor

Choose a reason for hiding this comment

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

medium

These extra blank lines appear to be unintentional and should be removed for cleaner formatting.

@prasoonbirla-google prasoonbirla-google deleted the temp branch March 13, 2026 13:35
@prasoonbirla-google prasoonbirla-google restored the temp branch March 16, 2026 09:45
@prasoonbirla-google prasoonbirla-google requested a review from a team as a code owner March 16, 2026 09:45
@prasoonbirla-google prasoonbirla-google changed the title Temp FPV Validation test Mar 17, 2026
@prasoonbirla-google prasoonbirla-google changed the title FPV Validation test FPV Validation Mar 17, 2026
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.

1 participant