[ 
https://issues.apache.org/jira/browse/FLINK-6053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bowen Li updated FLINK-6053:
----------------------------
    Description: 
Currently, Flink's Gauge is defined as 

```java
/**
 * A Gauge is a {@link Metric} that calculates a specific value at a point in 
time.
 */
public interface Gauge<T> extends Metric {
        T getValue();
}
```

But it doesn't make sense to have Gauge take generic types other than Number. 
And it blocks I from finishing FLINK-6013, because I cannot assume Gauge is 
only about Number. So the class should be like

```
/**
 * A Gauge is a {@link Metric} that calculates a specific value at a point in 
time.
 */
public interface Gauge<T extends Number> extends Metric {
        T getValue();
}
```

  was:
Currently, Flink's Gauge is defined as 

```
/**
 * A Gauge is a {@link Metric} that calculates a specific value at a point in 
time.
 */
public interface Gauge<T> extends Metric {
        T getValue();
}
```

But it doesn't make sense to have Gauge take generic types other than Number. 
So the class should be like

```
/**
 * A Gauge is a {@link Metric} that calculates a specific value at a point in 
time.
 */
public interface Gauge<T extends Number> extends Metric {
        T getValue();
}
```


> Gauge<T> should only take subclasses of Number, rather than everything
> ----------------------------------------------------------------------
>
>                 Key: FLINK-6053
>                 URL: https://issues.apache.org/jira/browse/FLINK-6053
>             Project: Flink
>          Issue Type: Improvement
>          Components: Metrics
>    Affects Versions: 1.2.0
>            Reporter: Bowen Li
>             Fix For: 1.3.0
>
>
> Currently, Flink's Gauge is defined as 
> ```java
> /**
>  * A Gauge is a {@link Metric} that calculates a specific value at a point in 
> time.
>  */
> public interface Gauge<T> extends Metric {
>       T getValue();
> }
> ```
> But it doesn't make sense to have Gauge take generic types other than Number. 
> And it blocks I from finishing FLINK-6013, because I cannot assume Gauge is 
> only about Number. So the class should be like
> ```
> /**
>  * A Gauge is a {@link Metric} that calculates a specific value at a point in 
> time.
>  */
> public interface Gauge<T extends Number> extends Metric {
>       T getValue();
> }
> ```



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to