<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: 13.0.0 -",
    "macOS: 10.15.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MetricKit",
  "identifier" : "/documentation/MetricKit/mxSignpost(_:dso:log:name:signpostID:_:_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "MetricKit"
    ],
    "preciseIdentifier" : "s:9MetricKit10mxSignpost_3dso3log4name10signpostID__ySo03os_H7_type_ta_SVSo03OS_j1_F0Cs12StaticStringV0J0010OSSignpostI0VALSays7CVarArg_pGtF"
  },
  "title" : "mxSignpost(_:dso:log:name:signpostID:_:_:)"
}
-->

# mxSignpost(_:dso:log:name:signpostID:_:_:)

Posts a single custom metric, the start time of a custom metric, or the end time of a custom metric to the log system.

```
func mxSignpost(_ type: OSSignpostType, dso: UnsafeRawPointer = #dsohandle, log: OSLog, name: StaticString, signpostID: OSSignpostID = .exclusive, _ format: StaticString = "%{public, signpost:metrics}@", _ arguments: [any CVarArg] = [Unmanaged<NSObject>.fromOpaque(_MXSignpostMetricsSnapshot()).takeUnretainedValue()])
```

## Parameters

`type`

A value that represents the type of the signpost:

- `event`: A single custom metric.
- `begin`: The start time of a custom metric.
- `end`: The end time of a custom metric.

`dso`

A parameter for internal system use.

`log`

A log for the category of the event that was created previously using [`makeLogHandle(category:)`](/documentation/MetricKit/MXMetricManager/makeLogHandle(category:)).

`name`

A string containing the developer-assigned name of the custom event.

`signpostID`

A parameter for internal system use.

`format`

A parameter for internal system use.

`arguments`

The variable arguments for <doc://com.apple.documentation/documentation/os/os_signpost_event_emit>.

## Discussion

Call this function to mark a custom metric, custom metric start time, or custom metric end time in the metric kit log. Provide a `log` that you create with [`makeLogHandle(category:)`](/documentation/MetricKit/MXMetricManager/makeLogHandle(category:)), the `type` of the event, a `name` for the event, and variable `arguments` for <doc://com.apple.documentation/documentation/os/os_signpost_event_emit>. Don’t alter the parameters `dso`, `signpostID`, or `format`.

---

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)