You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "yuchen-ecnu (via GitHub)" <gi...@apache.org> on 2024/01/18 12:33:21 UTC

[PR] [FLINK-34029][runtime-web] Support different profiling mode on Flink WEB [flink]

yuchen-ecnu opened a new pull request, #24130:
URL: https://github.com/apache/flink/pull/24130

   ## What is the purpose of the change
   
   This is a subtask of [FLIP-375](https://cwiki.apache.org/confluence/x/64lEE), which introduces the different profiling modes on the Flink Web for profiling Taskmanager & Jobmanager. 
   
   
   ## Brief change log
   
   *(for example:)*
     - Provide profiling mode selector and hint on Flink Web
   
   
   ## Verifying this change
   
   This change is a trivial rework / code cleanup without any test coverage.
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): no
     - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: no
     - The serializers: (yes / no / don't know)
     - The runtime per-record code paths (performance sensitive): no
     - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
     - The S3 file system connector: no
   
   ## Documentation
   
     - Does this pull request introduce a new feature? yes
     - If yes, how is the feature documented? not documented, it will be added in [FLINK-33436]
   


-- 
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: issues-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-34029][runtime-web] Support different profiling mode on Flink WEB [flink]

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


-- 
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: issues-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-34029][runtime-web] Support different profiling mode on Flink WEB [flink]

Posted by "flinkbot (via GitHub)" <gi...@apache.org>.
flinkbot commented on PR #24130:
URL: https://github.com/apache/flink/pull/24130#issuecomment-1898402933

   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "9e8db4237658e0557d9c7a04376c729dc947a10c",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "9e8db4237658e0557d9c7a04376c729dc947a10c",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 9e8db4237658e0557d9c7a04376c729dc947a10c UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
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: issues-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-34029][runtime-web] Support different profiling mode on Flink WEB [flink]

Posted by "yuchen-ecnu (via GitHub)" <gi...@apache.org>.
yuchen-ecnu commented on code in PR #24130:
URL: https://github.com/apache/flink/pull/24130#discussion_r1461682660


##########
flink-runtime-web/web-dashboard/src/app/pages/job-manager/profiler/job-manager-profiler.component.html:
##########
@@ -31,6 +31,58 @@
           ></nz-input-number>
         </nz-form-control>
       </nz-form-item>
+      <nz-form-item>
+        <nz-form-label nzFor="mode">Profiling Mode</nz-form-label>
+        <nz-form-control>
+          <nz-select
+            [(ngModel)]="selectMode"
+            nzPlaceHolder="Profiling Mode"
+            name="mode"
+            style="width: 200px"
+          >
+            <nz-option nzCustomContent nzValue="CPU" nzLabel="CPU">
+              <span
+                nz-tooltip
+                nzTooltipTitle="In this mode profiler collects stack trace samples that include Java methods, native calls, JVM code and kernel functions."
+              >
+                CPU
+              </span>
+            </nz-option>
+            <nz-option nzCustomContent nzValue="LOCK" nzLabel="Lock">
+              <span
+                nz-tooltip
+                nzTooltipTitle="In lock profiling mode the top frame is the class of lock/monitor, and the counter is number of nanoseconds it took to enter this lock/monitor."
+              >
+                Lock
+              </span>
+            </nz-option>
+            <nz-option nzCustomContent nzValue="WALL" nzLabel="Wall-Clock">
+              <span
+                nz-tooltip
+                nzTooltipTitle="Wall-Clock option tells async-profiler to sample all threads equally every given period of time regardless of thread status: Running, Sleeping or Blocked. For instance, this can be helpful when profiling application start-up time."
+              >
+                Wall-Clock
+              </span>
+            </nz-option>
+            <nz-option nzCustomContent nzValue="ALLOC" nzLabel="Allocation">
+              <span
+                nz-tooltip
+                nzTooltipTitle="In allocation profiling mode the top frame of every call trace is the class of the allocated object, and the counter is the heap pressure (the total size of allocated TLABs or objects outside TLAB)."
+              >
+                Allocation
+              </span>
+            </nz-option>
+            <nz-option nzCustomContent nzValue="ITIMER" nzLabel="ITIMER">

Review Comment:
   That makes sense, I have changed the default mode to `ITIMER`.



-- 
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: issues-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-34029][runtime-web] Support different profiling mode on Flink WEB [flink]

Posted by "yuchen-ecnu (via GitHub)" <gi...@apache.org>.
yuchen-ecnu commented on PR #24130:
URL: https://github.com/apache/flink/pull/24130#issuecomment-1902905798

   Hi @Myasuka , do you have time to help review this PR.


-- 
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: issues-unsubscribe@flink.apache.org

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


Re: [PR] [FLINK-34029][runtime-web] Support different profiling mode on Flink WEB [flink]

Posted by "Myasuka (via GitHub)" <gi...@apache.org>.
Myasuka commented on code in PR #24130:
URL: https://github.com/apache/flink/pull/24130#discussion_r1461481473


##########
flink-runtime-web/web-dashboard/src/app/pages/job-manager/profiler/job-manager-profiler.component.html:
##########
@@ -31,6 +31,58 @@
           ></nz-input-number>
         </nz-form-control>
       </nz-form-item>
+      <nz-form-item>
+        <nz-form-label nzFor="mode">Profiling Mode</nz-form-label>
+        <nz-form-control>
+          <nz-select
+            [(ngModel)]="selectMode"
+            nzPlaceHolder="Profiling Mode"
+            name="mode"
+            style="width: 200px"
+          >
+            <nz-option nzCustomContent nzValue="CPU" nzLabel="CPU">
+              <span
+                nz-tooltip
+                nzTooltipTitle="In this mode profiler collects stack trace samples that include Java methods, native calls, JVM code and kernel functions."
+              >
+                CPU
+              </span>
+            </nz-option>
+            <nz-option nzCustomContent nzValue="LOCK" nzLabel="Lock">
+              <span
+                nz-tooltip
+                nzTooltipTitle="In lock profiling mode the top frame is the class of lock/monitor, and the counter is number of nanoseconds it took to enter this lock/monitor."
+              >
+                Lock
+              </span>
+            </nz-option>
+            <nz-option nzCustomContent nzValue="WALL" nzLabel="Wall-Clock">
+              <span
+                nz-tooltip
+                nzTooltipTitle="Wall-Clock option tells async-profiler to sample all threads equally every given period of time regardless of thread status: Running, Sleeping or Blocked. For instance, this can be helpful when profiling application start-up time."
+              >
+                Wall-Clock
+              </span>
+            </nz-option>
+            <nz-option nzCustomContent nzValue="ALLOC" nzLabel="Allocation">
+              <span
+                nz-tooltip
+                nzTooltipTitle="In allocation profiling mode the top frame of every call trace is the class of the allocated object, and the counter is the heap pressure (the total size of allocated TLABs or objects outside TLAB)."
+              >
+                Allocation
+              </span>
+            </nz-option>
+            <nz-option nzCustomContent nzValue="ITIMER" nzLabel="ITIMER">

Review Comment:
   I think we can make this mode as the default one or the first one.



-- 
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: issues-unsubscribe@flink.apache.org

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