yesoreyeram-boomtable-panel icon indicating copy to clipboard operation
yesoreyeram-boomtable-panel copied to clipboard

[Feature Request] Support for String ValueMap on columns

Open peynman opened this issue 6 years ago • 12 comments

First thank you for the great plugin. it would be great to have a column styling option like in grafanas original table.

peynman avatar Oct 11 '18 10:10 peynman

Hi @peynman , Thanks for the feedback.

Could you provide more details about your requirement?

Boom table has all the "column style" features in "Patterns" tab. You can set, thresholds, do transformations, Set column header, set type, set unit, set decimal, Set decimals, etc but only for Numbers.

This panel doesnt support "strings and date" yet. I couldn't see any solid use case for this. If you provide more details about your use case, I am happy to help

image

yesoreyeram avatar Oct 11 '18 11:10 yesoreyeram

I am rending some stats on product categories and these stats are stored in graphite with their Ids in app database, so when rendering these reports I need to either use graphite alias function ( which I cant since I have too many categories and if I use alias for all of them I ran out of space in my query ) or use a string value map on my metrics column. Do you think it would be possible to attach column styles from default table to Boom table. I am facing the same problem with pie charts too :/

peynman avatar Oct 11 '18 14:10 peynman

Suppose your metric is A.B.C.XXXXX.YYYYYYY.ZZZZ.aaa.bbb.somemetric assuming XXX , YYY and ZZZ are unique columns,

and if you need your output like Product XXXX (aaa) Product type ZZZ as your row names, then specify Product _3_ (_6_) Product type _5_ in the row name in pattern tab. here 3 , 6 and 5 represents the index of metric name delimited by dot.

If my understanding is correct, above method will help. Feel free to revert back if this didnt solve or you are not convinced. Happy to help.

yesoreyeram avatar Oct 11 '18 15:10 yesoreyeram

it would be helpful to find solution if you give some screenshots /mock.

yesoreyeram avatar Oct 11 '18 15:10 yesoreyeram

my metric keys are like: com.example.1.metric.something com.example.2.metric.another com.example.3.metric.someother ...

and those numbers are product ids in a mysql table with titles, I want to replace the numbers with those titles.

peynman avatar Oct 11 '18 15:10 peynman

Hi @peynman . It seems this can be done if the title is part of the metric. Otherwise not possible with the current implementation. ( If you have few metrics, thats possible ). If you are using graphite 1.1+, you can use tags to achieve this.

yesoreyeram avatar Oct 18 '18 09:10 yesoreyeram

Hi @peynman - Have you checked latest version? We have a feature called "Transform value overrides". This is something similar to what you are looking for. ( But still does transformation only on values. Not on row and col names)

https://github.com/yesoreyeram/yesoreyeram-boomtable-panel#transform-value-overrides

yesoreyeram avatar Nov 20 '18 11:11 yesoreyeram

since I am displaying my Grafana panels over a proxy(iframe) in my admin panel, I have solved this issue by overriding column names in the proxy server (I changed the response from Grafana and displayed my version of response to the user!) But still it would be nice to have a "String ValueMap" functionality like the original Grafana table

peynman avatar Nov 20 '18 12:11 peynman

I have used this panel with zabbix datasource, where is very powerful to pivot and align data as a table. The only limitation is when you try to show a cell with text where the text is not part of content metric name ( zabbix concept ) but a value.

Ex: Metric is "TOP SQL CPU" and value from metric can be "select ..." . In this case another item would be the value from CPU.

For this reason, i think would be cool have support for another data types in this case String.

rodrigolemenunes avatar Feb 19 '19 20:02 rodrigolemenunes

rodrigo.. thanks for the feedback. Sorry I don't know anythig about zabbix. If you provide more details i will try my best to tell u the workaround or provide solution. (Btw, if you don't know this plugin only for pivoting timeserires data. For the other types default table should be sufficient i guess ) correct me if I am wrong.

yesoreyeram avatar Feb 19 '19 20:02 yesoreyeram

Am I reading this right, that there is no intent to be able to display string data within a column (unless that string is contained in the metric name, surrounded by delimiters)? Error messages, ip address, place names?

The use case that brought me here is admittedly funky, but we have been able to build distributed applications using it that we have been super happy with - we just wanted to move to boomtable instead of the standard table so that we could have more control over look/feel/behaviour.

With how advanced the granularity is on options for boomtable, I never would have guessed that it would have so much trouble supporting what we thought was a pretty simple thing.

Use Case:

We currently use the standard table plugin to provide an interface with clickable URL's that mix tag data and value data from different columns (using the grafana table $__cell_n notation and [[tag_x]] references)

I.E we build a clickable link in the following format, using the table 'render value as link' button:

http://foo.bar/api_call?ip_address=[[tag_ip_address]]&name=[[tag_name]]&change_ip=${__cell_10:raw}&change_value=${__cell_7}

We want to use boomtable to rebuild this, since we would have much more control over the look/feel/behaviour of this panel as the application behind it evolves. It was a bit crushing to find out how difficult this was going to be due to the lack of string value support (we could just write the url as a field and reference that)

I can get the string column data by putting it into the series name, and then applying that as the row name & then referencing that, but it seems like we have zero way to do the following:

  • have a string in a column to show the name of the location you are changing (since we 'used up' the one string field we have, the 'row name'
  • combine this row name with numerical values contained in the same row, in other columns.

I suppose I should open an issue maybe for the $__cell_n syntax? I think with this (and by giving up on having a row name?) we could rebuild what we have in the standard table plugin.


This is the edge case I'm working on right now - but we certainly have many tables set up I was hoping to pivot and dress with this - but without the ability to put string data in columns the use case for this plugin seems very limited in the telco world?

Can you give me an idea if I'm reading this wrong? This plugin is intended for pivot of tables containing no strings and no dates, unless extracted from series name?

relishcolouredhat avatar Mar 06 '19 23:03 relishcolouredhat

Thanks for writing your feedback. When this plugin was developed initially, it was designed with graphite db in mind. But, String value map , time parser are reasonably good feature to have in this panel. Surely I will consider this in next releases. ( Not anytime soon sorry. Any PR / contributions are welcome )

yesoreyeram avatar Mar 07 '19 00:03 yesoreyeram