Skip to content

make AutoValue work in PubSub #1481

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Dec 20, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions google-cloud-pubsub/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
</dependency>
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<artifactId>error_prone_annotations</artifactId>

This comment was marked as spam.

<version>2.0.15</version>
</dependency>
<dependency>
Expand Down Expand Up @@ -164,10 +164,7 @@
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<!-- Downgrading to 3.1 because of https://issues.apache.org/jira/browse/MCOMPILER-236 -->
<!-- Upgrade to 3.5.1 which fixes the problem when available -->
<!-- <version>3.5.1</version> -->
<version>3.1</version>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,44 +16,40 @@

package com.google.cloud.pubsub;

import javax.annotation.concurrent.Immutable;
import com.google.auto.value.AutoValue;

/**
* A snapshot of the publisher statistics at the time they were requested from the {@link
* Publisher}.
*/
//TODO: Finish implementation.
@Immutable
public class PublisherStats {
private final long sentMessages;
private final long ackedMessages;
private final long failedMessages;
private final long pendingMessages;

PublisherStats(long sentMessages, long ackedMessages, long failedMessages, long pendingMessages) {
this.sentMessages = sentMessages;
this.ackedMessages = ackedMessages;
this.failedMessages = failedMessages;
this.pendingMessages = pendingMessages;
}

@AutoValue
public abstract class PublisherStats {

This comment was marked as spam.

This comment was marked as spam.

/** Number of successfully published messages. */
public long getAckedMessages() {
return ackedMessages;
}
public abstract long getAckedMessages();

/** Number of messages that failed to publish. */
public long getFailedMessages() {
return failedMessages;
}
public abstract long getFailedMessages();

/** Number of messages pending to publish, includes message in-flight. */
public long getPendingMessages() {
return pendingMessages;
}
public abstract long getPendingMessages();

/** Total messages sent, equal to pending + acked + failed messages. */
public long getSentMessages() {
return sentMessages;
public abstract long getSentMessages();

public static Builder newBuilder() {
return new AutoValue_PublisherStats.Builder();
}

@AutoValue.Builder
public static abstract class Builder {
public abstract Builder setAckedMessages(long value);

public abstract Builder setFailedMessages(long value);

public abstract Builder setPendingMessages(long value);

public abstract Builder setSentMessages(long value);

public abstract PublisherStats build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,67 +16,63 @@

package com.google.cloud.pubsub;

import javax.annotation.concurrent.Immutable;
import com.google.auto.value.AutoValue;

/**
* A snapshot of the subscriber statistics at the time they were requested from the {@link
* Subscriber}.
*/
//TODO: Finish implementation.
@Immutable
public class SubscriberStats {
@Immutable
public static class Stats {}

private final long totalReceivedMessages;
private final long totalAckedMessages;
private final Stats endToEndLatency;
private final Stats ackLatency;
private final long numberOfAutoExtendedAckDeadlines;

SubscriberStats() {
this.totalReceivedMessages = 0;
this.totalAckedMessages = 0;
this.numberOfAutoExtendedAckDeadlines = 0;
this.endToEndLatency = null;
this.ackLatency = null;
}
@AutoValue
public abstract class SubscriberStats {

@AutoValue
//TODO: Finish implementation.
public abstract static class Stats {}

/** Number of successfully published messages. */
public long getReceivedMessages() {
return totalReceivedMessages;
}
public abstract long getReceivedMessages();

/** Number of successfully published messages. */
public long getAckedMessages() {
return totalAckedMessages;
}
public abstract long getAckedMessages();

/** Number of received messages. */
public long getTotalReceivedMessages() {
return totalReceivedMessages;
}
public abstract long getTotalReceivedMessages();

/** Number messages acked. */
public long getTotalAckedMessages() {
return totalAckedMessages;
}
public abstract long getTotalAckedMessages();

/** End to end latency. */
public Stats getEndToEndLatency() {
return endToEndLatency;
}
public abstract Stats getEndToEndLatency();

/**
* Acknowledgement latency; time in between the message has been received and then acknowledged or
* rejected.
*/
public Stats getAckLatency() {
return ackLatency;
}
public abstract Stats getAckLatency();

/** Number of messages for which we have auto extended its acknowledgement deadline. */
public long getNumberOfAutoExtendedAckDeadlines() {
return numberOfAutoExtendedAckDeadlines;
public abstract long getNumberOfAutoExtendedAckDeadlines();

public static Builder newBuilder() {
return new AutoValue_SubscriberStats.Builder();
}

@AutoValue.Builder
public static abstract class Builder {
public abstract Builder setReceivedMessages(long value);

public abstract Builder setAckedMessages(long value);

public abstract Builder setTotalReceivedMessages(long value);

public abstract Builder setTotalAckedMessages(long value);

public abstract Builder setEndToEndLatency(Stats value);

public abstract Builder setAckLatency(Stats value);

public abstract Builder setNumberOfAutoExtendedAckDeadlines(long value);

public abstract SubscriberStats build();
}
}