Skip to content

Conversation

@wchargin
Copy link
Contributor

Summary:
Typical requests now include ~4700 scalars instead of ~37000 scalars
(and are correspondingly processed faster by the server). This is now
reliably hitting the client-side rate limiting, so we’re sending one
request per 5 seconds.

Test Plan:
The following patch is useful for testing:

diff --git a/tensorboard/uploader/uploader.py b/tensorboard/uploader/uploader.py
index 1a6e7951..c3191746 100644
--- a/tensorboard/uploader/uploader.py
+++ b/tensorboard/uploader/uploader.py
@@ -130,6 +130,10 @@ class TensorBoardUploader(object):
       request_bytes = request.ByteSize()
-      logger.info("Trying request of %d bytes", request_bytes)
+      total_scalars = sum(
+          len(tag.points) for run in request.runs for tag in run.tags)
+      logger.warning(
+          "Trying request of %d bytes (%d scalars)",
+          request_bytes, total_scalars)
       self._upload(request)
       upload_duration_secs = time.time() - upload_start_time
-      logger.info(
+      logger.warning(
           "Upload for %d runs (%d bytes) took %.3f seconds",

wchargin-branch: uploader-batch-128kib

Summary:
Typical requests now include ~4700 scalars instead of ~37000 scalars
(and are correspondingly processed faster by the server). This is now
reliably hitting the client-side rate limiting, so we’re sending one
request per 5 seconds.

Test Plan:
The following patch is useful for testing:

```diff
diff --git a/tensorboard/uploader/uploader.py b/tensorboard/uploader/uploader.py
index 1a6e795..c3191746 100644
--- a/tensorboard/uploader/uploader.py
+++ b/tensorboard/uploader/uploader.py
@@ -130,6 +130,10 @@ class TensorBoardUploader(object):
       request_bytes = request.ByteSize()
-      logger.info("Trying request of %d bytes", request_bytes)
+      total_scalars = sum(
+          len(tag.points) for run in request.runs for tag in run.tags)
+      logger.warning(
+          "Trying request of %d bytes (%d scalars)",
+          request_bytes, total_scalars)
       self._upload(request)
       upload_duration_secs = time.time() - upload_start_time
-      logger.info(
+      logger.warning(
           "Upload for %d runs (%d bytes) took %.3f seconds",
```

wchargin-branch: uploader-batch-128kib
@karthikv2k
Copy link
Contributor

Thanks for the change!
LGTM

@wchargin wchargin merged commit 2c9499d into master Oct 29, 2019
@wchargin wchargin deleted the wchargin-uploader-batch-128kib branch October 29, 2019 03:22
wchargin added a commit to wchargin/tensorboard that referenced this pull request Oct 29, 2019
Summary:
Typical requests now include ~4700 scalars instead of ~37000 scalars
(and are correspondingly processed faster by the server). This is now
reliably hitting the client-side rate limiting, so we’re sending one
request per 5 seconds.

Test Plan:
The following patch is useful for testing:

```diff
diff --git a/tensorboard/uploader/uploader.py b/tensorboard/uploader/uploader.py
index 1a6e795..c3191746 100644
--- a/tensorboard/uploader/uploader.py
+++ b/tensorboard/uploader/uploader.py
@@ -130,6 +130,10 @@ class TensorBoardUploader(object):
       request_bytes = request.ByteSize()
-      logger.info("Trying request of %d bytes", request_bytes)
+      total_scalars = sum(
+          len(tag.points) for run in request.runs for tag in run.tags)
+      logger.warning(
+          "Trying request of %d bytes (%d scalars)",
+          request_bytes, total_scalars)
       self._upload(request)
       upload_duration_secs = time.time() - upload_start_time
-      logger.info(
+      logger.warning(
           "Upload for %d runs (%d bytes) took %.3f seconds",
```

wchargin-branch: uploader-batch-128kib
@wchargin wchargin mentioned this pull request Oct 29, 2019
wchargin added a commit that referenced this pull request Oct 29, 2019
Summary:
Typical requests now include ~4700 scalars instead of ~37000 scalars
(and are correspondingly processed faster by the server). This is now
reliably hitting the client-side rate limiting, so we’re sending one
request per 5 seconds.

Test Plan:
The following patch is useful for testing:

```diff
diff --git a/tensorboard/uploader/uploader.py b/tensorboard/uploader/uploader.py
index 1a6e795..c3191746 100644
--- a/tensorboard/uploader/uploader.py
+++ b/tensorboard/uploader/uploader.py
@@ -130,6 +130,10 @@ class TensorBoardUploader(object):
       request_bytes = request.ByteSize()
-      logger.info("Trying request of %d bytes", request_bytes)
+      total_scalars = sum(
+          len(tag.points) for run in request.runs for tag in run.tags)
+      logger.warning(
+          "Trying request of %d bytes (%d scalars)",
+          request_bytes, total_scalars)
       self._upload(request)
       upload_duration_secs = time.time() - upload_start_time
-      logger.info(
+      logger.warning(
           "Upload for %d runs (%d bytes) took %.3f seconds",
```

wchargin-branch: uploader-batch-128kib
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants