... |
... |
@@ -779,9 +779,9 @@ the total time spent profiling. |
779
|
779
|
Cost-centre break-down
|
780
|
780
|
^^^^^^^^^^^^^^^^^^^^^^
|
781
|
781
|
|
782
|
|
-A variable-length packet encoding a heap profile sample broken down by,
|
783
|
|
- * cost-centre (:rts-flag:`-hc`)
|
784
|
|
-
|
|
782
|
+A variable-length packet encoding a heap profile sample.
|
|
783
|
+This event is only emitted when the heap profile type is set to :rts-flag:`-hc` or :rts-flag:`-hb`.
|
|
784
|
+Otherwise, a :event-type:`HEAP_PROF_SAMPLE_STRING` event is emitted instead.
|
785
|
785
|
|
786
|
786
|
.. event-type:: HEAP_PROF_SAMPLE_COST_CENTRE
|
787
|
787
|
|
... |
... |
@@ -796,11 +796,19 @@ A variable-length packet encoding a heap profile sample broken down by, |
796
|
796
|
String break-down
|
797
|
797
|
^^^^^^^^^^^^^^^^^
|
798
|
798
|
|
799
|
|
-A variable-length event encoding a heap sample broken down by,
|
|
799
|
+A variable-length event encoding a heap sample.
|
|
800
|
+The content of the sample label varies depending on the heap profile type:
|
|
801
|
+
|
|
802
|
+ * :rts-flag:`-hT` The sample label contains a closure type, e.g., ``"ghc-bignum:GHC.Num.Integer.IS"``.
|
|
803
|
+ * :rts-flag:`-hm` The sample label contains a module name, e.g., ``"GHC.Num.Integer"``.
|
|
804
|
+ * :rts-flag:`-hd` The sample label contains a closure description, e.g., ``"IS"``.
|
|
805
|
+ * :rts-flag:`-hy` The sample label contains a type description, e.g., ``"Integer"``.
|
|
806
|
+ * :rts-flag:`-he` The sample label contains a stringified era, e.g., ``"1"``.
|
|
807
|
+ * :rts-flag:`-hr` The sample label contains a retainer set description, e.g., ``"(184)$stoIntegralSized1"``.
|
|
808
|
+ * :rts-flag:`-hi` The sample label contains a stringified pointer, e.g., ``"0x1008b7588"``,
|
|
809
|
+ which can be matched to an info table description emitted by the :event-type:`IPE` event.
|
800
|
810
|
|
801
|
|
- * type description (:rts-flag:`-hy`)
|
802
|
|
- * closure description (:rts-flag:`-hd`)
|
803
|
|
- * module (:rts-flag:`-hm`)
|
|
811
|
+If the heap profile type is set to :rts-flag:`-hc` or :rts-flag:`-hb`, a :event-type:`HEAP_PROF_SAMPLE_COST_CENTRE` event is emitted instead.
|
804
|
812
|
|
805
|
813
|
.. event-type:: HEAP_PROF_SAMPLE_STRING
|
806
|
814
|
|
... |
... |
@@ -808,7 +816,7 @@ A variable-length event encoding a heap sample broken down by, |
808
|
816
|
:length: variable
|
809
|
817
|
:field Word8: profile ID
|
810
|
818
|
:field Word64: heap residency in bytes
|
811
|
|
- :field String: type or closure description, or module name
|
|
819
|
+ :field String: sample label
|
812
|
820
|
|
813
|
821
|
.. _time-profiler-events:
|
814
|
822
|
|