-
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
Licensed feature usage API #60984
Comments
Pinging @elastic/kibana-platform (Team:Platform) |
@kobelb A few questions on that one:
Is there any documents on that ? Who can I reach to get more info about this standardization? |
Yup!
For the time being, it's just a server-side concern.
I was originally thinking that we'd add it to the existing
Storing this only in-memory gets us less retention, especially when processes are stopped/started. However, it's the only storage that we have at the moment that end-users can't tamper with. Storing it as a saved-object, which is ultimately persisted to the @rjernst I believe that you're working on the Elasticsearch counterpart to this. Do you happen to have any details regarding how Elasticsearch is persisting its feature usage? Is this being stored in a persistent manner, or is it ephemeral in memory? Also, do you happen to have any examples of the Elastisearch feature usage API output? |
Elasticsearch won't be persisting this; it will be up to cloud to capture this information at regular intervals. It is completely in memory, and node local, so cloud will capture this from every node and coalesce as necessary.
Not yet. We first need some lower level changes in how licensed features are checked in ES, which is what I'm working on now. But at a conceptual level it is mapping an arbitrary key for a feature to the last time that feature was used. We may want to expand this in the future to have eg the last N uses (again, all kept in memory), but at its simplest it would be something like this:
|
Awesome, thanks @rjernst! If you wouldn't mind keeping us in the loop as you further flesh out the ES API, it'd be much appreciated. |
Adding it to the
Do you have any example of the kind of feature we'll want to monitor with this new API?
So atm the API output is basically a Map<FeatureId, LastUsedTimestamp>? we don't even want a structure returning the number of uses on the last period of a predefined duration? |
Nope, I was expecting this to be part of the licensing plugin as well.
There's only a handful right now (I want to say 3?), but one example I know of is the "Service Map" feature in APM. |
The ones I'm aware of:
|
We decided to keep it simple at first, where cloud would handle persistence of this information, and thus choose the frequency with which to check the state. While we may in the future add a "last N uses", I don't think we would want a predefined duration, as that could get memory intensive for a frequently used feature. |
Currently, we have no way to know when a licensed feature was actually used. Kibana routinely checks whether or not a license enables a specific feature for a number of reasons, but it doesn't differentiate between checking for the sake of hiding something in the UI versus a check prior to a feature actually being consumed.
The Elasticsearch team will be adding a similar API, so we should likely standardize on a format to make consumption easier.
The text was updated successfully, but these errors were encountered: