private Optional < MetricValue > rewrite_ ( MetricValue v ) { return v . asString ( ) . map ( pattern_ :: matcher ) . filter ( matcher -> matcher . find ( ) ) . map ( this :: resolve_template_args_ ) . map ( template_ :: apply ) . map ( MetricValue :: fromStrValue ) ; }
Rewrite a string metric according to matcher and template . Strings that don t match the regexp are omitted .