>From Ali Alsuliman <[email protected]>:

Ali Alsuliman has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18364 )


Change subject: WIP: cloud requests
......................................................................

WIP: cloud requests

Change-Id: I6964af27bf66717661cb450de793ca7d06bb9eaf
---
M 
asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/IRequestProfiler.java
M 
asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/google/gcs/GCSCloudClient.java
M 
asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/CountRequestProfiler.java
M 
asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/NoOpRequestProfiler.java
M 
asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/ICloudClient.java
M 
asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/aws/s3/S3CloudClient.java
6 files changed, 110 insertions(+), 0 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/64/18364/1

diff --git 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/ICloudClient.java
 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/ICloudClient.java
index 89f3c81..209245b 100644
--- 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/ICloudClient.java
+++ 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/ICloudClient.java
@@ -25,6 +25,7 @@
 import java.util.Set;

 import org.apache.asterix.cloud.IWriteBufferProvider;
+import org.apache.asterix.cloud.clients.profiler.IRequestProfiler;
 import org.apache.hyracks.api.exceptions.HyracksDataException;
 import org.apache.hyracks.api.io.FileReference;
 import org.apache.hyracks.control.nc.io.IOManager;
@@ -42,6 +43,11 @@
     int getWriteBufferSize();

     /**
+     * @return the requests profiler
+     */
+    IRequestProfiler getProfiler();
+
+    /**
      * Creates a cloud buffered writer
      *
      * @param bucket         bucket to write to
diff --git 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/aws/s3/S3CloudClient.java
 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/aws/s3/S3CloudClient.java
index 2eae455..5ce1f43 100644
--- 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/aws/s3/S3CloudClient.java
+++ 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/aws/s3/S3CloudClient.java
@@ -105,6 +105,11 @@
     }

     @Override
+    public IRequestProfiler getProfiler() {
+        return profiler;
+    }
+
+    @Override
     public ICloudWriter createWriter(String bucket, String path, 
IWriteBufferProvider bufferProvider) {
         ICloudBufferedWriter bufferedWriter = new S3BufferedWriter(s3Client, 
profiler, guardian, bucket, path);
         return new CloudResettableInputStream(bufferedWriter, bufferProvider);
diff --git 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/google/gcs/GCSCloudClient.java
 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/google/gcs/GCSCloudClient.java
index accf3c9..2874b4e 100644
--- 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/google/gcs/GCSCloudClient.java
+++ 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/google/gcs/GCSCloudClient.java
@@ -91,6 +91,11 @@
     }

     @Override
+    public IRequestProfiler getProfiler() {
+        return profiler;
+    }
+
+    @Override
     public ICloudWriter createWriter(String bucket, String path, 
IWriteBufferProvider bufferProvider) {
         return new GCSWriter(bucket, path, gcsClient, profiler);
     }
diff --git 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/CountRequestProfiler.java
 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/CountRequestProfiler.java
index 624395b..3fc378c 100644
--- 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/CountRequestProfiler.java
+++ 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/CountRequestProfiler.java
@@ -95,6 +95,41 @@
         log();
     }

+    @Override
+    public long objectsListCount() {
+        return listObjectsCounter.get();
+    }
+
+    @Override
+    public long objectGetCount() {
+        return getObjectCounter.get();
+    }
+
+    @Override
+    public long objectWriteCount() {
+        return writeObjectCounter.get();
+    }
+
+    @Override
+    public long objectDeleteCount() {
+        return deleteObjectCounter.get();
+    }
+
+    @Override
+    public long objectCopyCount() {
+        return copyObjectCounter.get();
+    }
+
+    @Override
+    public long objectMultipartUploadCount() {
+        return multipartUploadCounter.get();
+    }
+
+    @Override
+    public long objectMultipartDownloadCount() {
+        return multipartDownloadCounter.get();
+    }
+
     private void log() {
         if (LOGGER.isEnabled(LOG_LEVEL)) {
             long currentTime = System.nanoTime();
diff --git 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/IRequestProfiler.java
 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/IRequestProfiler.java
index 9d1d86e..a23a78f 100644
--- 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/IRequestProfiler.java
+++ 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/IRequestProfiler.java
@@ -32,4 +32,19 @@
     void objectMultipartUpload();

     void objectMultipartDownload();
+
+    long objectsListCount();
+
+    long objectGetCount();
+
+    long objectWriteCount();
+
+    long objectDeleteCount();
+
+    long objectCopyCount();
+
+    long objectMultipartUploadCount();
+
+    long objectMultipartDownloadCount();
+
 }
diff --git 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/NoOpRequestProfiler.java
 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/NoOpRequestProfiler.java
index 2ef2769..f7e89c3 100644
--- 
a/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/NoOpRequestProfiler.java
+++ 
b/asterixdb/asterix-cloud/src/main/java/org/apache/asterix/cloud/clients/profiler/NoOpRequestProfiler.java
@@ -58,4 +58,39 @@
     public void objectMultipartDownload() {
         // NoOp
     }
+
+    @Override
+    public long objectsListCount() {
+        return 0;
+    }
+
+    @Override
+    public long objectGetCount() {
+        return 0;
+    }
+
+    @Override
+    public long objectWriteCount() {
+        return 0;
+    }
+
+    @Override
+    public long objectDeleteCount() {
+        return 0;
+    }
+
+    @Override
+    public long objectCopyCount() {
+        return 0;
+    }
+
+    @Override
+    public long objectMultipartUploadCount() {
+        return 0;
+    }
+
+    @Override
+    public long objectMultipartDownloadCount() {
+        return 0;
+    }
 }

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18364
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I6964af27bf66717661cb450de793ca7d06bb9eaf
Gerrit-Change-Number: 18364
Gerrit-PatchSet: 1
Gerrit-Owner: Ali Alsuliman <[email protected]>
Gerrit-MessageType: newchange

Reply via email to