You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by Julio Biason <ju...@azion.com> on 2017/12/14 12:56:41 UTC

[Docs] Can't add metrics to RichFilterFunction

Hello,

I'm trying to add a metric to a filter function, but following the example
in the docs is not working.

So I have this class:

```
class LogBrokenFilter extends RichFilterFunction[LineData] {
  private val logger = LoggerFactory.getLogger(this.getClass)
  @transient private var counter:Counter

  override def open(parameters:Configuration):Unit = {
    counter = getRuntimeContext
      .getMetricGroup()
      .counter("brokenLogs")
  }

  // and then I override `filter` to do filter events out and count those.
```

The problem is that, when compiling, I get the following errors:

abstract member may not have private modifier
[error]   @transient private var counter:Counter

and

no valid targets for annotation on method counter - it is discarded unused.
You may specify targets with meta-annotations, e.g. @(transient @getter)
[warn]   @transient private var counter:Counter
[warn]    ^

Any ideas? Are the docs wrong?

-- 
*Julio Biason*, Sofware Engineer
*AZION*  |  Deliver. Accelerate. Protect.
Office: +55 51 3083 8101 <callto:+555130838101>  |  Mobile: +55 51
<callto:+5551996209291>*99907 0554*

Re: [Docs] Can't add metrics to RichFilterFunction

Posted by Fabian Hueske <fh...@gmail.com>.
Thanks for reporting the issue.

I've filed FLINK-8278 [1] to fix the issue.

Best, Fabian

[1] https://issues.apache.org/jira/browse/FLINK-8278

2017-12-14 14:04 GMT+01:00 Kien Truong <du...@gmail.com>:

> That syntax is incorrect, should be.
>
> @transient private var counter:Counter = _
>
>
> Regards,
>
> Kien
>
>
>
> On 12/14/2017 8:03 PM, Julio Biason wrote:
>
>> @transient private var counter:Counter
>>
>

Re: [Docs] Can't add metrics to RichFilterFunction

Posted by Kien Truong <du...@gmail.com>.
That syntax is incorrect, should be.

@transient private var counter:Counter = _


Regards,

Kien


On 12/14/2017 8:03 PM, Julio Biason wrote:
> @transient private var counter:Counter

Re: [Docs] Can't add metrics to RichFilterFunction

Posted by Julio Biason <ju...@azion.com>.
Oh, obviously, code is Scala. Also we are using Flink 1.4.0 and
flink-metrics-core-1.4-SNAPSHOT.

On Thu, Dec 14, 2017 at 10:56 AM, Julio Biason <ju...@azion.com>
wrote:

> Hello,
>
> I'm trying to add a metric to a filter function, but following the example
> in the docs is not working.
>
> So I have this class:
>
> ```
> class LogBrokenFilter extends RichFilterFunction[LineData] {
>   private val logger = LoggerFactory.getLogger(this.getClass)
>   @transient private var counter:Counter
>
>   override def open(parameters:Configuration):Unit = {
>     counter = getRuntimeContext
>       .getMetricGroup()
>       .counter("brokenLogs")
>   }
>
>   // and then I override `filter` to do filter events out and count those.
> ```
>
> The problem is that, when compiling, I get the following errors:
>
> abstract member may not have private modifier
> [error]   @transient private var counter:Counter
>
> and
>
> no valid targets for annotation on method counter - it is discarded
> unused. You may specify targets with meta-annotations, e.g. @(transient
> @getter)
> [warn]   @transient private var counter:Counter
> [warn]    ^
>
> Any ideas? Are the docs wrong?
>
> --
> *Julio Biason*, Sofware Engineer
> *AZION*  |  Deliver. Accelerate. Protect.
> Office: +55 51 3083 8101 <callto:+555130838101>  |  Mobile: +55 51
> <callto:+5551996209291>*99907 0554*
>



-- 
*Julio Biason*, Sofware Engineer
*AZION*  |  Deliver. Accelerate. Protect.
Office: +55 51 3083 8101 <callto:+555130838101>  |  Mobile: +55 51
<callto:+5551996209291>*99907 0554*