You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@gobblin.apache.org by "jack-moseley (via GitHub)" <gi...@apache.org> on 2023/06/13 18:21:13 UTC

[GitHub] [gobblin] jack-moseley opened a new pull request, #3703: [GOBBLIN-1842] Add timers to GobblinMCEWriter

jack-moseley opened a new pull request, #3703:
URL: https://github.com/apache/gobblin/pull/3703

   Dear Gobblin maintainers,
   
   Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
   
   
   ### JIRA
   - [x] My PR addresses the following [Gobblin JIRA](https://issues.apache.org/jira/browse/GOBBLIN/) issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"
       - https://issues.apache.org/jira/browse/GOBBLIN-1842
   
   
   ### Description
   - [x] Here are some details about my PR, including screenshots (if applicable):
   Add timers for:
   - hivespec computation
   - write for each metadata writer
   - flush for each metadata writer
   
   These timers are set up with a 1 hour sliding window, so the statistics will be for the last hour of execution. The timers are registered with metric context so they will send metrics through gobblin's metric framework. Also, added logging during every flush interval (every 1 min) which logs the current mean/99th percentile of every timer, so it is easier to see where time is being spent.
   
   ### Tests
   - [x] My PR adds the following unit tests __OR__ does not need testing for this extremely good reason:
   Ran test pipeline. Example timer logs:
   ```
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - begin flushing 0 records
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer org.apache.gobblin.iceberg.writer.IcebergMetadataWriter.write 1 hour mean duration: 10 ms
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer org.apache.gobblin.iceberg.writer.IcebergMetadataWriter.write 1 hour 99th percentile duration: 104 ms
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer org.apache.gobblin.hive.writer.HiveMetadataWriter.write 1 hour mean duration: 14 ms
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer org.apache.gobblin.hive.writer.HiveMetadataWriter.write 1 hour 99th percentile duration: 213 ms
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer org.apache.gobblin.iceberg.writer.IcebergMetadataWriter.flush 1 hour mean duration: 3756 ms
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer org.apache.gobblin.iceberg.writer.IcebergMetadataWriter.flush 1 hour 99th percentile duration: 69138 ms
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer org.apache.gobblin.hive.writer.HiveMetadataWriter.flush 1 hour mean duration: 0 ms
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer org.apache.gobblin.hive.writer.HiveMetadataWriter.flush 1 hour 99th percentile duration: 1 ms
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer hiveSpec.computation 1 hour mean duration: 10 ms
   2023-06-13 11:16:58 PDT INFO  [StreamModelTaskRunner] org.apache.gobblin.iceberg.writer.GobblinMCEWriter  - Timer hiveSpec.computation 1 hour 99th percentile duration: 19 ms
   ```
   
   ### Commits
   - [x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "[How to write a good git commit message](http://chris.beams.io/posts/git-commit/)":
       1. Subject is separated from body by a blank line
       2. Subject is limited to 50 characters
       3. Subject does not end with a period
       4. Subject uses the imperative mood ("add", not "adding")
       5. Body wraps at 72 characters
       6. Body explains "what" and "why", not "how"
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [gobblin] codecov-commenter commented on pull request #3703: [GOBBLIN-1842] Add timers to GobblinMCEWriter

Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #3703:
URL: https://github.com/apache/gobblin/pull/3703#issuecomment-1601828161

   ## [Codecov](https://app.codecov.io/gh/apache/gobblin/pull/3703?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   > Merging [#3703](https://app.codecov.io/gh/apache/gobblin/pull/3703?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (5362b9e) into [master](https://app.codecov.io/gh/apache/gobblin/commit/a00b57cda36acf9e30f9856bdc69383528f70486?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (a00b57c) will **increase** coverage by `3.33%`.
   > The diff coverage is `n/a`.
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #3703      +/-   ##
   ============================================
   + Coverage     46.89%   50.22%   +3.33%     
   + Complexity    10772     5834    -4938     
   ============================================
     Files          2138     1067    -1071     
     Lines         84139    40776   -43363     
     Branches       9357     4570    -4787     
   ============================================
   - Hits          39456    20481   -18975     
   + Misses        41078    18522   -22556     
   + Partials       3605     1773    -1832     
   ```
   
   
   [see 1086 files with indirect coverage changes](https://app.codecov.io/gh/apache/gobblin/pull/3703/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
   :mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [gobblin] jack-moseley commented on pull request #3703: [GOBBLIN-1842] Add timers to GobblinMCEWriter

Posted by "jack-moseley (via GitHub)" <gi...@apache.org>.
jack-moseley commented on PR #3703:
URL: https://github.com/apache/gobblin/pull/3703#issuecomment-1601930047

   > As I see more time spending in flush, can we consider add more detail breaking down there, like how much time we spend to commit a transaction etc...
   
   Hmm, so you mean more timers within the indvidual writers? Yeah I guess I'll add some there, although I would think during flush the time is spent pretty much all in the commit. I guess it would be good to confirm that sending audit/commit events etc. is not taking much time.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [gobblin] ZihanLi58 merged pull request #3703: [GOBBLIN-1842] Add timers to GobblinMCEWriter

Posted by "ZihanLi58 (via GitHub)" <gi...@apache.org>.
ZihanLi58 merged PR #3703:
URL: https://github.com/apache/gobblin/pull/3703


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org