Skip to content
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

[Feature Request] Support for String ValueMap on columns #38

Open
peynman opened this issue Oct 11, 2018 · 12 comments
Open

[Feature Request] Support for String ValueMap on columns #38

peynman opened this issue Oct 11, 2018 · 12 comments

Comments

@peynman
Copy link

peynman commented Oct 11, 2018

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

@yesoreyeram
Copy link
Owner

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

@peynman
Copy link
Author

peynman commented Oct 11, 2018

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 :/

@yesoreyeram
Copy link
Owner

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
Copy link
Owner

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

@peynman
Copy link
Author

peynman commented Oct 11, 2018

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.

@yesoreyeram
Copy link
Owner

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
Copy link
Owner

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

@peynman
Copy link
Author

peynman commented Nov 20, 2018

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

@rodrigolemenunes
Copy link

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.

@yesoreyeram
Copy link
Owner

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.

@relishcolouredhat
Copy link

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:https://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?

@yesoreyeram
Copy link
Owner

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 yesoreyeram changed the title Support for String ValueMap on columns [Feature Request] Support for String ValueMap on columns Mar 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants