-
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
[APM] [Service map] Service Node Icons #56235
Comments
Pinging @elastic/apm-ui (Team:apm) |
I have been working on some mocks for adding in more descriptive icons on the node types as per the feedback. The framework is added as a sublabel and badge in the popover. We need clarification of whether Language logos👍Clear description of the language per logo Language monochrome👍Clean service map, making sure only the highlighted nodes with i.e. alerts or later on traffic light map styles will stand out. Language colors👍Languages are uniquely identified without the use of logos I would love to hear people's thoughts on this, as I think it's hard to find a perfect visual. cc @roncohen @nehaduggal @elastic/apm-ui @elastic/observability-design |
love the first one (Language logos). I don't think the copyright issue should be a problem, but definitely worth investigating. |
we can maybe fall back to "Language monochrome" for things we don't have logos for |
+1 to what Ron said- The language logos UI is pretty neat and looks great. Language monochrome is my second favorite. In addition the complexity of assigning colors to language agents, the language colors makes the map look really busy. |
Thanks for the great feedback! I'll look into the copyright question and see about our options for avoiding the host or bundle the icons in our Kibana code because I think that might be the underlying problem.
Agreed, we need a fallback. |
I spoke to @snide and agreed that we shouldn't worry about the copyright issue since we're simply using them as informational, not promotional or any other sense. So let's bundle language logos for the agents we support (RUM will have a generic JS logo), and have a fallback monochrome avatar version as proposed above. I'll create the implementation issue for this. Wasn't sure if we had a preference for, in some way, show the framework name when available? |
@smith If we're to implement language icons in SVG, where should I put them - do I just collect them and send them your way in an implementation issue, or what do you prefer? |
Sure that's fine. They'll be added to a directory in the repo, so as long as whoever is implementing it can get at the files we should be good. |
@formgeist I have some reservations about putting the framework on the node labels:
Any thoughts on that? |
@smith I think having the framework badges in the popover (like you've already implemented) is a good start. I agree it quickly becomes noisy when there's more labels on the nodes themselves in the map. I think we might investigate this again once we get more user feedback on what information is relevant to them when simply viewing the maps. |
Add icons as described in elastic#56235. Also: * Add double-border and ghost "shadow" on nodes * Add framework name capability to popover metrics
Add icons as described in #56235. Also: * Add double-border and ghost "shadow" on nodes * Add framework name capability to popover metrics
Add icons as described in elastic#56235. Also: * Add double-border and ghost "shadow" on nodes * Add framework name capability to popover metrics
The initial approach to determining the service map node icon (thanks @smith) is:
kibana/x-pack/legacy/plugins/apm/public/components/app/ServiceMap/icons.ts
Lines 49 to 56 in ec4ece7
This issue intends to start a discussion around enhancements to the icon lookup with the goal of making the service map more consumable for users - that is, quicker understanding of what services are shown and what powers them.
For instrumented services (those with an APM agent) I propose icon resolution should follow:
service.framework.name
- django/express/gin/railsservice.runtime.name
- java/jruby/cpythonservice.language.name
- java/ruby/pythonRuntime alone doesn't make sense to me (and I don't think is actually reported by any known agent) For example a C# app will report
.NET Core
for runtime, where C# is more informative. By contrast a python app may reportpypi
for framework which could be useful to distinguish fromcpython
apps, but both are still python.Seeking input on whether framework is a good idea.
I'm interested in exploring adjusting some attribute of the node based on where is running - cloud provider, container/k8s/serverless, etc but consider that out of scope for this pass.
A separate issue for icons for external services will follow.
The text was updated successfully, but these errors were encountered: