Skip to content

Tagcloud #8149

@thomasneirynck

Description

@thomasneirynck

Kibana should visualize tag-clouds:

Issue to create outstanding tasks for the tag-cloud PR: #8104

This is now running again. I added it to the core-vis library, so it loads on startup without additional plugin installation commands.

Scope:

  • functional

    • min-max angle could benefit from UI to select arc. Range sliders are not ideal due to possiblity for faulty input. Made proof of concept to illustrate use (https://github.com/thomasneirynck/ArcInput).
    • similar for min-max font range sliders, could use range slider with min-max bracket (separate sliders work OK. see if code-review flags this)
    • consider removing timeInterval. Can we pick a good default (?) (removed this for now, a little too low level for initial evaluation)
    • do not allow users to select too many orientations. the result is too cluttered. give a few options (horizontal, horizontal+vertical)
    • should be able to click on words and have them be added to the filter-bar (so on a dashboards, everything filters based on that word)
    • consider adding multi-clouds (discussed with @tbragin, @ppisljar, not needed in first version)
    • remove font options
    • can we scale the words according to significance scores? (these are more useful in certain scenarios. See @markharwood in linked PR). decided to leave this out for now. We will track this separately once released.
    • add tooltip with metric on hover postpone, not required for initial release
    • add all metric options (e.g. SD, percentile, ...)
    • use samples aggregation iso sig terms (removed sig terms altogether)
    • if there is not enough space, some words will be discarded. it would be nice if we can notify the user of this behavior.
    • add "no results" message (using same error message as above now)
    • when pushing the filter, should take into account the data type of the field (should work as-is using point-filter)
    • exclude date-fields/numbers from aggregation we'll keep this in and leave it up to the user.
  • bugs

    • not all text fields seem to be working (e.g. @message.raw)
    • when refreshing the tag cloud (e.g. due to changes in the Data/Options), there is a brief flash of the old visualization.
    • angles larger than 180deg don't work (word orientations will be selected from the complement smaller angle instead)
    • The current font doesn't match kibana's font family
    • The arc input is handy but also it can be difficult to reset it back to defaults
    • word positioning isn't deterministic. when resizing, page refresh, etc the words move around this can't be entirely avoided. Instead, use an animation to move the tags to their new position (causes less flicker)
    • avoid double render on startup
    • even for small container-size changes, the visualiation will rerender. this is unnecessary.
    • annoying little jump when the filter-bar appears (perhaps should animate there as well)
    • double check sizing/font settings are correctly applied
    • remove random element from layout to give consistent results for identical data
    • scrollbar appearing when smaller than 200px
    • minimize repositioning when the cloud is small but the window size changes (could reuse old positions, just translate them)
    • look at weird dashboard bug, where panel has single color can't repro.
    • ensure cloud doesn't get "stuck" (might occur with long lines of text..) can't repro.
    • not working with Reporting. Needs to fire 'Rendered' Event so we can take screenshot. (consider using API proposed in visualizations emit 'renderComplete' event when done rendering #8914)
    • not working with median aggregation. This is due to a bug in the MetricAgg.getValue/percentiles_get_value. Consider addressing this in separate PR.
    • standard deviation throws (Standard deviation aggregation may throw  #9077) removed this for now, needs to look into why
    • when selection word, use biggest font-size, instead of smallest font-size
    • tagcloud completely borks when adding multiple cloud visualizations to the dashboard. This occurs when the aggregation-type is different or there are different aggregation-types
    • shouldn't show "Custom Label" since that isn't used in the visualization anyway (might still want to keep it, to accomodate headers for multi-clouds (?))
    • custom label of metrics is not used
    • performance issues: consider limiting number of tags
    • ascending sort of metric isnt working for non-count metrics
    • browsers locks up and logs errors to the console. to repro: create count-clientip cloud; filter on tag; remove filter (can't quite repro)
  • chores

    • bring up to date with most recent code-style / tidy-up
    • settle on appropriate place for this (put this in core)
    • improve naming ('cloud' file names are confusing, might refer to 'cloud' product) (they're all under tag_cloud, which is pretty descriptive. Cloud is different product altogether)
    • cloud_directive is an unnecessary abstraction. consider removing.
      Tagcloud #8104
    • use renderComplete event iso whenRendered
    • do not put options in template files and instead in cloud.js
    • weird optimize/.empty → src/manifest.json file rename

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions