[
https://issues.apache.org/jira/browse/QUARKS-189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15337347#comment-15337347
]
ASF GitHub Bot commented on QUARKS-189:
---------------------------------------
GitHub user vdogaru opened a pull request:
https://github.com/apache/incubator-quarks/pull/140
QUARKS-189 Do not inject counter metrics after a CounterOp
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/vdogaru/incubator-quarks QUARKS-189-vdogaru
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-quarks/pull/140.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #140
----
commit 38bb29c12b3938ee150716f7131b666ca4117217
Author: Victor Dogaru <[email protected]>
Date: 2016-06-18T00:25:33Z
QUARKS-189 Do not inject counter metrics after a CounterOp
----
> Undesirable metric op injection
> -------------------------------
>
> Key: QUARKS-189
> URL: https://issues.apache.org/jira/browse/QUARKS-189
> Project: Quarks
> Issue Type: Bug
> Components: Runtime
> Reporter: Dale LaBossiere
> Assignee: Victor Dogaru
> Priority: Minor
> Labels: newbie
>
> [ Note related QUARKS-195 ]
> Manually added CounterOp or RateMeter oplets results in undesirable
> additional CounterOp (and StreamScope) injection in the DevelopmentProvider.
> e.g.
> poll -> pipe(new CounterOp) /* Metrics.counter(stream) */ -> sink
> results in
> poll -> CounterOp -> StreamScope -> the-manual-CounterOp -> CounterOp ->
> StreamScope -> sink
> The injection code doesn't recognize that a counter op is already present -
> i.e., it treats the manual CounterOp (or a manual RateMeter) as any other
> oplet, resulting in injecting a CounterOp between it and the poll / sink.
> As it turns out, the manual CounterOp/RateMeter is included in the "counter
> metrics" retrieved by the Console and used for tuple-count info, so the
> additional injections aren't really needed... and they look odd in the
> Console because you see a sequence of 5 small rectangles... because the
> Console renders all metric ops as small rectangles whether they're injected
> or not. Of course, one of the StreamScope injections is needed.
> I suspect all that's needed is to enhance Metric.counter(Topology)'s peekAll
> selector so that it excludes instanceof CounterOp and RateMeter.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)