Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ui/include/classes/parsers/CPrometheusPatternParser.php')
-rw-r--r--ui/include/classes/parsers/CPrometheusPatternParser.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/ui/include/classes/parsers/CPrometheusPatternParser.php b/ui/include/classes/parsers/CPrometheusPatternParser.php
index 6cfde3c3939..d45a50e7589 100644
--- a/ui/include/classes/parsers/CPrometheusPatternParser.php
+++ b/ui/include/classes/parsers/CPrometheusPatternParser.php
@@ -31,6 +31,7 @@ class CPrometheusPatternParser extends CParser {
private $user_macro_parser;
private $lld_macro_parser;
+ private $lld_macro_function_parser;
public function __construct($options = []) {
if (array_key_exists('usermacros', $options)) {
@@ -45,6 +46,7 @@ class CPrometheusPatternParser extends CParser {
}
if ($this->options['lldmacros']) {
$this->lld_macro_parser = new CLLDMacroParser();
+ $this->lld_macro_function_parser = new CLLDMacroFunctionParser();
}
}
@@ -138,6 +140,12 @@ class CPrometheusPatternParser extends CParser {
return true;
}
+ elseif ($this->options['lldmacros']
+ && $this->lld_macro_function_parser->parse($source, $pos) != self::PARSE_FAIL) {
+ $pos += $this->lld_macro_function_parser->getLength();
+
+ return true;
+ }
return false;
}
@@ -176,6 +184,10 @@ class CPrometheusPatternParser extends CParser {
elseif ($this->options['lldmacros'] && $this->lld_macro_parser->parse($source, $pos) != self::PARSE_FAIL) {
$p += $this->lld_macro_parser->getLength();
}
+ elseif ($this->options['lldmacros']
+ && $this->lld_macro_function_parser->parse($source, $pos) != self::PARSE_FAIL) {
+ $p += $this->lld_macro_function_parser->getLength();
+ }
else {
return false;
}
@@ -321,6 +333,12 @@ class CPrometheusPatternParser extends CParser {
return true;
}
+ elseif ($this->options['lldmacros']
+ && $this->lld_macro_function_parser->parse($source, $pos) != self::PARSE_FAIL) {
+ $pos += $this->lld_macro_function_parser->getLength();
+
+ return true;
+ }
return false;
}