)]}'
{
  "commit": "ac69ae270aed21cd8525902c4d59eb260e095652",
  "tree": "5bc483116ecd7496c85bbcea32a4942f855e004f",
  "parents": [
    "5eefaf285125eae4df3b06340449b9ed8a45bf03"
  ],
  "author": {
    "name": "Hoang Thuan Pham",
    "email": "hoang.pham@calian.ca",
    "time": "Mon Sep 18 11:48:58 2023 -0400"
  },
  "committer": {
    "name": "Matthew Khouzam",
    "email": "matthew.khouzam@ericsson.com",
    "time": "Mon Oct 02 12:53:23 2023 -0400"
  },
  "message": "timing.core: Refactor statistics analysis to add generic segment type\n\nThis commit refactors the existing GenericSegmentStatisticsAnalysis and\nSegmentStoreStatisticsDataProviderFactory so that they can be extended\nto make new statistics analysis with different grouping logic:\n\n[1] The GenericSegmentStatisticsAnalysis is now a public class, and\nprovides a default implementation for the getSegmentType method. By\ndefault, this method groups the data of a statistics analysis by segment\nname. The class can be extended to overwrite the default aggregating\nlogic.\n\n[2] The SegmentStoreStatisticsDataProviderFactory is split into 2\nclasses: The AbstractSegmentStoreStatisticsDataProviderFactory and\nSegmentNameSegmentStoreStatisticsDataProviderFactory. The\nAbstractSegmentStoreStatisticsDataProviderFactory provides the common\nlogic to generate a data provider for segment store statistics analysis.\nThe SegmentNameSegmentStoreStatisticsDataProviderFactory extends the\nprior class, and binds the data provider to the\nGenericSegmentStatisticsAnalysis, which groups the data using the\nsegment name. New data provider factories can extends the abstract class\nto use different grouping logic for statistics analysis by binding\nitself to different implementations of GenericSegmentStatisticsAnalysis.\n\nChange-Id: I895efe32384026ebfd8668bdb250e02900281c78\nSigned-off-by: Hoang Thuan Pham \u003choang.pham@calian.ca\u003e\nReviewed-on: https://git.eclipse.org/r/c/tracecompass/org.eclipse.tracecompass/+/204373\nTested-by: Trace Compass Bot \u003ctracecompass-bot@eclipse.org\u003e\nTested-by: Matthew Khouzam \u003cmatthew.khouzam@ericsson.com\u003e\nReviewed-by: Patrick Tasse \u003cpatrick.tasse@gmail.com\u003e\nReviewed-by: Matthew Khouzam \u003cmatthew.khouzam@ericsson.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "550b4bd753d9d4e8c9cfc908735794bf60a7da58",
      "old_mode": 33188,
      "old_path": "analysis/org.eclipse.tracecompass.analysis.timing.core/META-INF/MANIFEST.MF",
      "new_id": "0a62d6d1e524a148d0c38291d82599bfe88dc876",
      "new_mode": 33188,
      "new_path": "analysis/org.eclipse.tracecompass.analysis.timing.core/META-INF/MANIFEST.MF"
    },
    {
      "type": "modify",
      "old_id": "3fc1a71d62cc1c29cdfd860d7751484b3e48252b",
      "old_mode": 33188,
      "old_path": "analysis/org.eclipse.tracecompass.analysis.timing.core/plugin.xml",
      "new_id": "a03eb6056a36edc20f4ad9a31d35af8b2625e1c0",
      "new_mode": 33188,
      "new_path": "analysis/org.eclipse.tracecompass.analysis.timing.core/plugin.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a91d51721da1bd4e5dad1532a48c1bfed1b113f3",
      "new_mode": 33188,
      "new_path": "analysis/org.eclipse.tracecompass.analysis.timing.core/src/org/eclipse/tracecompass/analysis/timing/core/segmentstore/GenericSegmentStatisticsAnalysis.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3077703152cabd24a7c4216bdae103fee537e83b",
      "new_mode": 33188,
      "new_path": "analysis/org.eclipse.tracecompass.analysis.timing.core/src/org/eclipse/tracecompass/internal/analysis/timing/core/segmentstore/AbstractSegmentStoreStatisticsDataProviderFactory.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c4967969c3098baea2e0296eb5753b6c1e23f890",
      "new_mode": 33188,
      "new_path": "analysis/org.eclipse.tracecompass.analysis.timing.core/src/org/eclipse/tracecompass/internal/analysis/timing/core/segmentstore/SegmentNameSegmentStoreStatisticsDataProviderFactory.java"
    },
    {
      "type": "delete",
      "old_id": "cec3695fb2b6db36a434f00b729a74bbbb19eaf6",
      "old_mode": 33188,
      "old_path": "analysis/org.eclipse.tracecompass.analysis.timing.core/src/org/eclipse/tracecompass/internal/analysis/timing/core/segmentstore/SegmentStoreStatisticsDataProviderFactory.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
