<!--
{
  "availability" : [
    "DriverKit: -",
    "iOS: -",
    "iPadOS: -",
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "DriverKit",
  "identifier" : "/documentation/DriverKit/IOHistogramReporter",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "DriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOHistogramReporter"
  },
  "title" : "IOHistogramReporter"
}
-->

# IOHistogramReporter

```
class IOHistogramReporter;
```

## Topics

### Instance Methods

[`IOReturn addChannel(uint64_t channelID, const char *channelName);`](/documentation/DriverKit/IOHistogramReporter/addChannel)

[`bool initWith(IOService *reportingService, IOReportCategories categories, uint64_t channelID, const char *channelName, IOReportUnit unit, int nSegments, IOHistogramSegmentConfig *config);`](/documentation/DriverKit/IOHistogramReporter/initWith)

[`IOReturn overrideBucketValues(unsigned int index, uint64_t bucket_hits, int64_t bucket_min, int64_t bucket_max, int64_t bucket_sum);`](/documentation/DriverKit/IOHistogramReporter/overrideBucketValues)

[`int tallyValue(int64_t value);`](/documentation/DriverKit/IOHistogramReporter/tallyValue)

### Type Methods

[`static IOHistogramReporter * with(IOService *reportingService, IOReportCategories categories, uint64_t channelID, const char *channelName, IOReportUnit unit, int nSegments, IOHistogramSegmentConfig *config);`](/documentation/DriverKit/IOHistogramReporter/with)

## Relationships

### Inherits From

[`IOReporter`](/documentation/DriverKit/IOReporter)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)