-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ECO] Inventory Telemetry #195608
Comments
Pinging @elastic/obs-ux-infra_services-team (Team:obs-ux-infra_services) |
|
Hi @roshan-elastic , as part of the refinement here are some questions/proposals (following the conventions) for the required events: Whether EEM is enabled for a user or not (
|
Regarding the context, The framework allows the plugins to extend the context by |
Hey @iblancof, Thanks for this!
Yeah, I was figuring this might be contentious. We're basically trying to capture the number of users who are eligible to use the new experience - regardless of whether they visit Inventory or not. However, I answering that is too tricky for this issue so it makes sense to trim this requirement back a bit. Could we populate it in the Trying to think what might be easiest here. Thought : Maybe it would be in the
This sounds good to me! |
Hi @roshan-elastic, regarding the
If adding this to the context is the only way to check it, let's go ahead. However, Iβd like to follow up with the analytics core team once this is merged to see what they recommend for similar cases, as this likely isn't an issue unique to our team. |
Hey @iblancof - I slacked you but quick Q: If we populate the Or, will it just it just populate on the pages we own? I'm happy either way - feel free to go ahead with whichever seems more sensible from an engineering POV. |
It will be persisted across ALL Kibana apps, including Search, Security, Analytics, etc. (as mentioned in this previous comment). Letβs go ahead and implement it, and Iβll explore other alternatives we might consider for future developments, including a potential refactor for |
Sounds good @iblancof ! One question to help me understand the telemetry - if a user opens a completely different page in Kibana (and never visits inventory) - will the |
Adding attributes to the telemetry The visibility of Inventory is controlled by the We can try to include With this workaround, we can ensure that we only add content to the context when the user has access to Inventory. How does the proposal sound to you @roshan-elastic ? |
Hey @roshan-elastic, just adding something to my previous response. Iβve been looking into whether we could add However, I donβt think this would fully cover what we want to analyze, which, as I understand it, is how the user interacts with the platform depending on whether EEM is enabled or not. I think the decision on when to add the attribute depends on what exactly we want to analyze. Please let me know what would work better for us, thanks! |
Hey @iblancof , Quick clarification - are you checking if the My guess is that checking the feature flag is easy to put in the What I was hoping to find out is whether EEM itself is enabled (which I assume is an API call which is only checked in Inventory)? If you're checking the feature flag If you're checking if EEM itself is enabled, could you let me know the behaviour and when the Either way, I want to minimise any further work on this as I know you've probably spent a bit of time on this - we can always fix this in a follow up issue if we need to change what you've implemented if that's easier. |
Hey @roshan-elastic, youβre right that I mistakenly assumed from the start we were talking about the
Regarding how to determine if EEM is enabled or not, it indeed requires an API call. As for setting "Adding attributes to the telemetry context occurs during plugin setup and is not related to whether the user visits the page, it's part of Kibana's initialization."
Iβve been busy with other tasks, so I havenβt gotten to the context implementation yet. We can go ahead this way without any problems. Summary
|
Brilliant @iblancof! That's exactly how I was hoping we could get it to work. If you think the scope of this is pretty significant and should be split out into a separate task - let me know. |
During development, it has been noted that the entity type filter is not included in the same search submit action, so there will be a couple of new changes:
This changes are now reflected on the issue description. |
## Summary Closes elastic#195608. In this PR, we introduce basic telemetry tracking for the new Inventory plugin. These events will help us gain insight into how users are interacting with the Inventory feature, including the state of the views, search behaviors, and entity type filtering. **New events** - Entity Inventory Viewed - Entity Inventory Search Query Submitted - Entity Inventory Entity Type Filtered - Entity View Clicked ![Untitled-2024-07-24-1420](https://github.com/user-attachments/assets/6e85ea00-c626-4bc1-a4f8-9907674eb264) ~**New attribute added to global context**~ - ~eem_enabled~ ~It will only be populated if the Inventory plugin is accessible to users and after they access the Observability solution. If EEM is not enabled and the user enables it, the property will be updated accordingly.~ Details about not implementing `eem_enabled` can be found in [this comment](elastic#197055 (comment)). (cherry picked from commit 7d673b8) # Conflicts: # x-pack/plugins/observability_solution/inventory/public/components/search_bar/index.tsx
## Summary Closes elastic#195608. In this PR, we introduce basic telemetry tracking for the new Inventory plugin. These events will help us gain insight into how users are interacting with the Inventory feature, including the state of the views, search behaviors, and entity type filtering. **New events** - Entity Inventory Viewed - Entity Inventory Search Query Submitted - Entity Inventory Entity Type Filtered - Entity View Clicked ![Untitled-2024-07-24-1420](https://github.com/user-attachments/assets/6e85ea00-c626-4bc1-a4f8-9907674eb264) ~**New attribute added to global context**~ - ~eem_enabled~ ~It will only be populated if the Inventory plugin is accessible to users and after they access the Observability solution. If EEM is not enabled and the user enables it, the property will be updated accordingly.~ Details about not implementing `eem_enabled` can be found in [this comment](elastic#197055 (comment)). (cherry picked from commit 7d673b8) # Conflicts: # x-pack/plugins/observability_solution/inventory/public/components/search_bar/index.tsx
π Description
Add minimal telemetry to help us understand adoption of the Inventory.
βοΈ Acceptance criteria
1. Must Have
Must be delivered in this issue in order for the release to be valuable
We must track whether EEM is enabled for a user or notCould we populate something incontext
object consistently around Kibana? e.g.context.eem_enabled : true
. Please shout if this is tricky so we can see if we want to do this.Add eem_enabled to context.
It will be populated only if Inventory plugin is accessible to the users, and once they access the Observability solution.
properties
which defines if it is in an empty state or not?Properties.view_state: empty / populated / eem_disabled
Properties.kuery_fields
Properties.entity_types
Properties.action: submit / refresh
Properties.entity_types
Properties.kuery_fields
event_type : "entity view click"
) when someone clicks on an entity which passes in info to aproperties
object, e.g.properties.entity_type : "service"
andproperties.view_type
asdetail view
(in the future, we'll probably have add 'fly out' buttons so we can differentiate. Note that we can't pass in the entity name for privacy reasons.Properties.entity_type: service / container / host
Properties.view_type: detail / flyout
4. Will Not Have (for now)
Explicitly will not be looked at within this issue
The text was updated successfully, but these errors were encountered: