Skip to content

Instantly share code, notes, and snippets.

@Civil
Created August 28, 2014 17:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Civil/c35293bc318e28ab07d1 to your computer and use it in GitHub Desktop.
Save Civil/c35293bc318e28ab07d1 to your computer and use it in GitHub Desktop.
What graphite-web's grammar.parseString generates for a simple query
QUERY: 'render/?width=586&height=308&_salt=1409223151.417&target=hostname.cpu.user&target=hostname.cpu.system&target=hostname.cpu.steal&target=hostname.cpu.softirq&target=hostname.cpu.nice&target=hostname.cpu.irq&target=hostname.cpu.iowait&target=hostname.cpu.idle&target=perSecond(hostname.cpu.guest)&target=aliasSub(ip.*TCP*,"^.*TCP(\d+)","\1")&target=asPercent(Server01.connections.{failed,succeeded},%20Server01.connections.attempted)'
Result:
([([u'hostname.cpu.user'], {'pathExpression': [(u'hostname.cpu.user', 0)]})], {'expression': [(([u'hostname.cpu.user'], {'pathExpression': [(u'hostname.cpu.user', 0)]}), 0)]})
([([u'hostname.cpu.system'], {'pathExpression': [(u'hostname.cpu.system', 0)]})], {'expression': [(([u'hostname.cpu.system'], {'pathExpression': [(u'hostname.cpu.system', 0)]}), 0)]})
([([u'hostname.cpu.steal'], {'pathExpression': [(u'hostname.cpu.steal', 0)]})], {'expression': [(([u'hostname.cpu.steal'], {'pathExpression': [(u'hostname.cpu.steal', 0)]}), 0)]})
([([u'hostname.cpu.softirq'], {'pathExpression': [(u'hostname.cpu.softirq', 0)]})], {'expression': [(([u'hostname.cpu.softirq'], {'pathExpression': [(u'hostname.cpu.softirq', 0)]}), 0)]})
([([u'hostname.cpu.nice'], {'pathExpression': [(u'hostname.cpu.nice', 0)]})], {'expression': [(([u'hostname.cpu.nice'], {'pathExpression': [(u'hostname.cpu.nice', 0)]}), 0)]})
([([u'hostname.cpu.irq'], {'pathExpression': [(u'hostname.cpu.irq', 0)]})], {'expression': [(([u'hostname.cpu.irq'], {'pathExpression': [(u'hostname.cpu.irq', 0)]}), 0)]})
([([u'hostname.cpu.iowait'], {'pathExpression': [(u'hostname.cpu.iowait', 0)]})], {'expression': [(([u'hostname.cpu.iowait'], {'pathExpression': [(u'hostname.cpu.iowait', 0)]}), 0)]})
([([u'hostname.cpu.idle'], {'pathExpression': [(u'hostname.cpu.idle', 0)]})], {'expression': [(([u'hostname.cpu.idle'], {'pathExpression': [(u'hostname.cpu.idle', 0)]}), 0)]})
([([([u'perSecond', ([([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]})], {'expression': [(([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]}), 0)]})], {'args': [(([([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]})], {'expression': [(([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]}), 0)]}), 1)], 'funcname': [(u'perSecond', 0)]})], {'call': [(([u'perSecond', ([([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]})], {'expression': [(([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]}), 0)]})], {'args': [(([([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]})], {'expression': [(([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]}), 0)]}), 1)], 'funcname': [(u'perSecond', 0)]}), 0)]})], {'expression': [(([([u'perSecond', ([([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]})], {'expression': [(([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]}), 0)]})], {'args': [(([([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]})], {'expression': [(([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]}), 0)]}), 1)], 'funcname': [(u'perSecond', 0)]})], {'call': [(([u'perSecond', ([([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]})], {'expression': [(([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]}), 0)]})], {'args': [(([([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]})], {'expression': [(([u'hostname.cpu.guest'], {'pathExpression': [(u'hostname.cpu.guest', 0)]}), 0)]}), 1)], 'funcname': [(u'perSecond', 0)]}), 0)]}), 0)]})
([([([u'aliasSub', ([([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]})], {'expression': [(([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]}), 0)]}), ([u'"^.*TCP(\\d )"'], {'string': [(u'"^.*TCP(\\d )"', 0)]}), ([u'"\\1"'], {'string': [(u'"\\1"', 0)]})], {'args': [(([([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]})], {'expression': [(([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]}), 0)]}), 1), (([u'"^.*TCP(\\d )"'], {'string': [(u'"^.*TCP(\\d )"', 0)]}), 2), (([u'"\\1"'], {'string': [(u'"\\1"', 0)]}), 3)], 'funcname': [(u'aliasSub', 0)]})], {'call': [(([u'aliasSub', ([([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]})], {'expression': [(([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]}), 0)]}), ([u'"^.*TCP(\\d )"'], {'string': [(u'"^.*TCP(\\d )"', 0)]}), ([u'"\\1"'], {'string': [(u'"\\1"', 0)]})], {'args': [(([([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]})], {'expression': [(([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]}), 0)]}), 1), (([u'"^.*TCP(\\d )"'], {'string': [(u'"^.*TCP(\\d )"', 0)]}), 2), (([u'"\\1"'], {'string': [(u'"\\1"', 0)]}), 3)], 'funcname': [(u'aliasSub', 0)]}), 0)]})], {'expression': [(([([u'aliasSub', ([([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]})], {'expression': [(([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]}), 0)]}), ([u'"^.*TCP(\\d )"'], {'string': [(u'"^.*TCP(\\d )"', 0)]}), ([u'"\\1"'], {'string': [(u'"\\1"', 0)]})], {'args': [(([([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]})], {'expression': [(([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]}), 0)]}), 1), (([u'"^.*TCP(\\d )"'], {'string': [(u'"^.*TCP(\\d )"', 0)]}), 2), (([u'"\\1"'], {'string': [(u'"\\1"', 0)]}), 3)], 'funcname': [(u'aliasSub', 0)]})], {'call': [(([u'aliasSub', ([([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]})], {'expression': [(([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]}), 0)]}), ([u'"^.*TCP(\\d )"'], {'string': [(u'"^.*TCP(\\d )"', 0)]}), ([u'"\\1"'], {'string': [(u'"\\1"', 0)]})], {'args': [(([([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]})], {'expression': [(([u'ip.*TCP*'], {'pathExpression': [(u'ip.*TCP*', 0)]}), 0)]}), 1), (([u'"^.*TCP(\\d )"'], {'string': [(u'"^.*TCP(\\d )"', 0)]}), 2), (([u'"\\1"'], {'string': [(u'"\\1"', 0)]}), 3)], 'funcname': [(u'aliasSub', 0)]}), 0)]}), 0)]})
([([([u'asPercent', ([([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]})], {'expression': [(([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]}), 0)]}), ([([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]})], {'expression': [(([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]}), 0)]})], {'args': [(([([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]})], {'expression': [(([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]}), 0)]}), 1), (([([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]})], {'expression': [(([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]}), 0)]}), 2)], 'funcname': [(u'asPercent', 0)]})], {'call': [(([u'asPercent', ([([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]})], {'expression': [(([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]}), 0)]}), ([([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]})], {'expression': [(([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]}), 0)]})], {'args': [(([([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]})], {'expression': [(([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]}), 0)]}), 1), (([([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]})], {'expression': [(([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]}), 0)]}), 2)], 'funcname': [(u'asPercent', 0)]}), 0)]})], {'expression': [(([([u'asPercent', ([([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]})], {'expression': [(([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]}), 0)]}), ([([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]})], {'expression': [(([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]}), 0)]})], {'args': [(([([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]})], {'expression': [(([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]}), 0)]}), 1), (([([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]})], {'expression': [(([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]}), 0)]}), 2)], 'funcname': [(u'asPercent', 0)]})], {'call': [(([u'asPercent', ([([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]})], {'expression': [(([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]}), 0)]}), ([([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]})], {'expression': [(([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]}), 0)]})], {'args': [(([([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]})], {'expression': [(([u'Server01.connections.{failed,succeeded}'], {'pathExpression': [(u'Server01.connections.{failed,succeeded}', 0)]}), 0)]}), 1), (([([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]})], {'expression': [(([u'Server01.connections.attempted'], {'pathExpression': [(u'Server01.connections.attempted', 0)]}), 0)]}), 2)], 'funcname': [(u'asPercent', 0)]}), 0)]}), 0)]})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment