Skip to content
This repository was archived by the owner on Dec 23, 2023. It is now read-only.

Commit 0ff88c0

Browse files
authored
Refactor ViewDescriptor. (#424)
1 parent 185230a commit 0ff88c0

File tree

13 files changed

+295
-300
lines changed

13 files changed

+295
-300
lines changed

core/src/main/java/io/opencensus/stats/RpcViewConstants.java

Lines changed: 88 additions & 88 deletions
Large diffs are not rendered by default.

core/src/main/java/io/opencensus/stats/ViewDescriptor.java renamed to core/src/main/java/io/opencensus/stats/View.java

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,21 @@
2121
import javax.annotation.concurrent.Immutable;
2222

2323
/**
24-
* A ViewDescriptor specifies an aggregation and a set of tag keys. The aggregation will be broken
25-
* down by the unique set of matching tag values for each measurement.
24+
* A View specifies an aggregation and a set of tag keys. The aggregation will be broken
25+
* down by the unique set of matching tag values for each measure.
2626
*/
2727
@Immutable
28-
public abstract class ViewDescriptor {
28+
public abstract class View {
2929
/**
3030
* Name of view. Must be unique.
3131
*/
32-
public abstract Name getViewDescriptorName();
32+
public abstract Name getViewName();
3333

3434
/**
3535
* Name of view, as a {@code String}.
3636
*/
3737
public final String getName() {
38-
return getViewDescriptorName().asString();
38+
return getViewName().asString();
3939
}
4040

4141
/**
@@ -44,30 +44,30 @@ public final String getName() {
4444
public abstract String getDescription();
4545

4646
/**
47-
* Measurement type of this view.
47+
* Measure type of this view.
4848
*/
4949
public abstract Measure getMeasure();
5050

5151
/**
52-
* Tag keys to match with the associated {@link Measure}. If no keys are specified,
53-
* then all stats are recorded. Keys must be unique.
52+
* Dimensions (a.k.a Tag Keys) to match with the associated {@link Measure}.
53+
* If no dimensions are specified, then all stats are recorded. Dimensions must be unique.
5454
*
5555
* <p>Note: The returned list is unmodifiable, attempts to update it will throw an
5656
* UnsupportedOperationException.
5757
*/
58-
public abstract List<TagKey> getTagKeys();
58+
public abstract List<TagKey> getDimensions();
5959

6060
/**
6161
* Applies the given match function to the underlying data type.
6262
*/
6363
public abstract <T> T match(
64-
Function<DistributionViewDescriptor, T> p0,
65-
Function<IntervalViewDescriptor, T> p1);
64+
Function<? super DistributionView, T> p0,
65+
Function<? super IntervalView, T> p1);
6666

6767
/**
68-
* The name of a {@code ViewDescriptor}.
68+
* The name of a {@code View}.
6969
*/
70-
// This type should be used as the key when associating data with ViewDescriptors.
70+
// This type should be used as the key when associating data with Views.
7171
@Immutable
7272
@AutoValue
7373
public abstract static class Name {
@@ -82,26 +82,26 @@ public abstract static class Name {
8282
public abstract String asString();
8383

8484
/**
85-
* Creates a {@code ViewDescriptor.Name} from a {@code String}.
85+
* Creates a {@code View.Name} from a {@code String}.
8686
*
8787
* @param name the name {@code String}.
88-
* @return a {@code ViewDescriptor.Name} with the given name {@code String}.
88+
* @return a {@code View.Name} with the given name {@code String}.
8989
*/
9090
public static Name create(String name) {
91-
return new AutoValue_ViewDescriptor_Name(name);
91+
return new AutoValue_View_Name(name);
9292
}
9393
}
9494

9595
/**
96-
* A {@link ViewDescriptor} for distribution-base aggregations.
96+
* A {@link View} for distribution-base aggregations.
9797
*/
9898
@Immutable
9999
@AutoValue
100-
public abstract static class DistributionViewDescriptor extends ViewDescriptor {
100+
public abstract static class DistributionView extends View {
101101
/**
102-
* Constructs a new {@link DistributionViewDescriptor}.
102+
* Constructs a new {@link DistributionView}.
103103
*/
104-
public static DistributionViewDescriptor create(
104+
public static DistributionView create(
105105
String name,
106106
String description,
107107
Measure measure,
@@ -116,15 +116,15 @@ public static DistributionViewDescriptor create(
116116
}
117117

118118
/**
119-
* Constructs a new {@link DistributionViewDescriptor}.
119+
* Constructs a new {@link DistributionView}.
120120
*/
121-
public static DistributionViewDescriptor create(
121+
public static DistributionView create(
122122
Name name,
123123
String description,
124124
Measure measure,
125125
DistributionAggregationDescriptor distributionAggregationDescriptor,
126126
List<TagKey> tagKeys) {
127-
return new AutoValue_ViewDescriptor_DistributionViewDescriptor(
127+
return new AutoValue_View_DistributionView(
128128
name,
129129
description,
130130
measure,
@@ -134,28 +134,28 @@ public static DistributionViewDescriptor create(
134134

135135
/**
136136
* The {@link DistributionAggregationDescriptor} associated with this
137-
* {@link DistributionViewDescriptor}.
137+
* {@link DistributionView}.
138138
*/
139139
public abstract DistributionAggregationDescriptor getDistributionAggregationDescriptor();
140140

141141
@Override
142142
public <T> T match(
143-
Function<DistributionViewDescriptor, T> p0,
144-
Function<IntervalViewDescriptor, T> p1) {
143+
Function<? super DistributionView, T> p0,
144+
Function<? super IntervalView, T> p1) {
145145
return p0.apply(this);
146146
}
147147
}
148148

149149
/**
150-
* A {@link ViewDescriptor} for interval-based aggregations.
150+
* A {@link View} for interval-based aggregations.
151151
*/
152152
@Immutable
153153
@AutoValue
154-
public abstract static class IntervalViewDescriptor extends ViewDescriptor {
154+
public abstract static class IntervalView extends View {
155155
/**
156-
* Constructs a new {@link IntervalViewDescriptor}.
156+
* Constructs a new {@link IntervalView}.
157157
*/
158-
public static IntervalViewDescriptor create(
158+
public static IntervalView create(
159159
String name,
160160
String description,
161161
Measure measure,
@@ -170,15 +170,15 @@ public static IntervalViewDescriptor create(
170170
}
171171

172172
/**
173-
* Constructs a new {@link IntervalViewDescriptor}.
173+
* Constructs a new {@link IntervalView}.
174174
*/
175-
public static IntervalViewDescriptor create(
175+
public static IntervalView create(
176176
Name name,
177177
String description,
178178
Measure measure,
179179
IntervalAggregationDescriptor intervalAggregationDescriptor,
180180
List<TagKey> tagKeys) {
181-
return new AutoValue_ViewDescriptor_IntervalViewDescriptor(
181+
return new AutoValue_View_IntervalView(
182182
name,
183183
description,
184184
measure,
@@ -188,14 +188,14 @@ public static IntervalViewDescriptor create(
188188

189189
/**
190190
* The {@link IntervalAggregationDescriptor} associated with this
191-
* {@link IntervalViewDescriptor}.
191+
* {@link IntervalView}.
192192
*/
193193
public abstract IntervalAggregationDescriptor getIntervalAggregationDescriptor();
194194

195195
@Override
196196
public <T> T match(
197-
Function<DistributionViewDescriptor, T> p0,
198-
Function<IntervalViewDescriptor, T> p1) {
197+
Function<? super DistributionView, T> p0,
198+
Function<? super IntervalView, T> p1) {
199199
return p1.apply(this);
200200
}
201201
}

core/src/main/java/io/opencensus/stats/ViewData.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@
1616
import com.google.auto.value.AutoValue;
1717
import io.opencensus.common.Function;
1818
import io.opencensus.common.Timestamp;
19-
import io.opencensus.stats.ViewDescriptor.DistributionViewDescriptor;
20-
import io.opencensus.stats.ViewDescriptor.IntervalViewDescriptor;
19+
import io.opencensus.stats.View.DistributionView;
20+
import io.opencensus.stats.View.IntervalView;
2121
import java.util.ArrayList;
2222
import java.util.Collections;
2323
import java.util.List;
2424
import javax.annotation.concurrent.Immutable;
2525

2626
/**
27-
* The aggregated data for a particular {@link ViewDescriptor}.
27+
* The aggregated data for a particular {@link View}.
2828
*/
2929
@Immutable
3030
public abstract class ViewData {
3131
/**
32-
* The {@link ViewDescriptor} associated with this {@link ViewData}.
32+
* The {@link View} associated with this {@link ViewData}.
3333
*/
34-
public abstract ViewDescriptor getViewDescriptor();
34+
public abstract View getView();
3535

3636
/**
3737
* Applies the given match function to the underlying data type.
@@ -53,7 +53,7 @@ public abstract static class DistributionViewData extends ViewData {
5353
/**
5454
* Constructs a new {@link DistributionViewData}.
5555
*/
56-
public static DistributionViewData create(DistributionViewDescriptor distributionView,
56+
public static DistributionViewData create(DistributionView distributionView,
5757
List<DistributionAggregation> distributionAggregations, Timestamp start, Timestamp end) {
5858
return new AutoValue_ViewData_DistributionViewData(
5959
distributionView,
@@ -64,7 +64,7 @@ public static DistributionViewData create(DistributionViewDescriptor distributio
6464
}
6565

6666
@Override
67-
public abstract DistributionViewDescriptor getViewDescriptor();
67+
public abstract DistributionView getView();
6868

6969
/**
7070
* The {@link DistributionAggregation}s associated with this {@link DistributionViewData}.
@@ -101,15 +101,15 @@ public abstract static class IntervalViewData extends ViewData {
101101
/**
102102
* Constructs a new {@link IntervalViewData}.
103103
*/
104-
public static IntervalViewData create(IntervalViewDescriptor intervalView,
104+
public static IntervalViewData create(IntervalView intervalView,
105105
List<IntervalAggregation> intervalAggregations) {
106106
return new AutoValue_ViewData_IntervalViewData(
107107
intervalView,
108108
Collections.unmodifiableList(new ArrayList<IntervalAggregation>(intervalAggregations)));
109109
}
110110

111111
@Override
112-
public abstract IntervalViewDescriptor getViewDescriptor();
112+
public abstract IntervalView getView();
113113

114114
/**
115115
* The {@link IntervalAggregation}s associated with this {@link IntervalViewData}.

core/src/main/java/io/opencensus/stats/ViewManager.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414
package io.opencensus.stats;
1515

1616
/**
17-
* Provides facilities to register {@link ViewDescriptor}s for collecting stats and retrieving
17+
* Provides facilities to register {@link View}s for collecting stats and retrieving
1818
* stats data as a {@link ViewData}.
1919
*/
2020
public abstract class ViewManager {
2121
/**
22-
* Pull model for stats. Registers a {@link ViewDescriptor} that will collect data to be accessed
23-
* via {@link #getView(ViewDescriptor)}.
22+
* Pull model for stats. Registers a {@link View} that will collect data to be accessed
23+
* via {@link #getView(View)}.
2424
*/
25-
public abstract void registerView(ViewDescriptor viewDescriptor);
25+
public abstract void registerView(View view);
2626

2727
/**
2828
* Returns the current stats data, {@link ViewData}, associated with the given
29-
* {@link ViewDescriptor}.
29+
* {@link View}.
3030
*/
31-
public abstract ViewData getView(ViewDescriptor viewDescriptor);
31+
public abstract ViewData getView(View view);
3232
}

core/src/test/java/io/opencensus/stats/ViewDataTest.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
import io.opencensus.stats.IntervalAggregation.Interval;
2525
import io.opencensus.stats.ViewData.DistributionViewData;
2626
import io.opencensus.stats.ViewData.IntervalViewData;
27-
import io.opencensus.stats.ViewDescriptor.DistributionViewDescriptor;
28-
import io.opencensus.stats.ViewDescriptor.IntervalViewDescriptor;
27+
import io.opencensus.stats.View.DistributionView;
28+
import io.opencensus.stats.View.IntervalView;
2929
import java.util.Arrays;
3030
import java.util.Collections;
3131
import java.util.List;
@@ -40,8 +40,8 @@ public final class ViewDataTest {
4040
public void testDistributionViewData() {
4141
DistributionAggregationDescriptor aggregationDescriptor =
4242
DistributionAggregationDescriptor.create(Arrays.asList(10.0, 20.0, 30.0, 40.0));
43-
final DistributionViewDescriptor view =
44-
DistributionViewDescriptor.create(
43+
final DistributionView view =
44+
DistributionView.create(
4545
name, description, measure, aggregationDescriptor, tagKeys);
4646
final List<DistributionAggregation> aggregations = Arrays.asList(
4747
DistributionAggregation.create(5, 5.0, 15.0, Range.create(1.0, 5.0), tags1,
@@ -52,12 +52,12 @@ public void testDistributionViewData() {
5252
final Timestamp end = Timestamp.fromMillis(2000);
5353
final ViewData viewData = DistributionViewData.create(view, aggregations, start, end);
5454

55-
assertThat(viewData.getViewDescriptor()).isEqualTo(view);
55+
assertThat(viewData.getView()).isEqualTo(view);
5656
assertTrue(viewData.match(
5757
new Function<DistributionViewData, Boolean> () {
5858
@Override public Boolean apply(DistributionViewData dViewData) {
5959
return dViewData == viewData
60-
&& dViewData.getViewDescriptor().equals(view)
60+
&& dViewData.getView().equals(view)
6161
&& shallowListEquals(dViewData.getDistributionAggregations(), aggregations)
6262
&& dViewData.getStart().equals(start)
6363
&& dViewData.getEnd().equals(end);
@@ -74,8 +74,8 @@ && shallowListEquals(dViewData.getDistributionAggregations(), aggregations)
7474
public void testIntervalViewData() {
7575
IntervalAggregationDescriptor aggregationDescriptor =
7676
IntervalAggregationDescriptor.create(Arrays.asList(Duration.fromMillis(111)));
77-
final IntervalViewDescriptor view =
78-
IntervalViewDescriptor.create(
77+
final IntervalView view =
78+
IntervalView.create(
7979
name, description, measure, aggregationDescriptor, tagKeys);
8080
final List<IntervalAggregation> aggregations = Arrays.asList(
8181
IntervalAggregation.create(tags1, Arrays.asList(
@@ -84,7 +84,7 @@ public void testIntervalViewData() {
8484
Interval.create(Duration.fromMillis(111), 10, 100))));
8585

8686
final ViewData viewData = IntervalViewData.create(view, aggregations);
87-
assertThat(viewData.getViewDescriptor()).isEqualTo(view);
87+
assertThat(viewData.getView()).isEqualTo(view);
8888
assertTrue(viewData.match(
8989
new Function<DistributionViewData, Boolean> () {
9090
@Override public Boolean apply(DistributionViewData dViewData) {
@@ -94,16 +94,16 @@ public void testIntervalViewData() {
9494
new Function<IntervalViewData, Boolean> () {
9595
@Override public Boolean apply(IntervalViewData iViewData) {
9696
return iViewData == viewData
97-
&& iViewData.getViewDescriptor().equals(view)
97+
&& iViewData.getView().equals(view)
9898
&& shallowListEquals(iViewData.getIntervalAggregations(), aggregations);
9999
}
100100
}));
101101
}
102102

103103
@Test
104104
public void testViewDataEquals() {
105-
DistributionViewDescriptor dView =
106-
DistributionViewDescriptor.create(
105+
DistributionView dView =
106+
DistributionView.create(
107107
name,
108108
description,
109109
measure,
@@ -113,8 +113,8 @@ public void testViewDataEquals() {
113113
Arrays.asList(
114114
DistributionAggregation.create(
115115
5, 5.0, 15.0, Range.create(1.0, 5.0), tags1, Arrays.asList(1L)));
116-
IntervalViewDescriptor iView =
117-
IntervalViewDescriptor.create(
116+
IntervalView iView =
117+
IntervalView.create(
118118
name,
119119
description,
120120
measure,

0 commit comments

Comments
 (0)