<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: -",
    "macOS: 11.0.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: -",
    "watchOS: 7.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "os",
  "identifier" : "/documentation/os/os_signpost(_:dso:log:name:signpostID:_:_:)-nez5",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "os"
    ],
    "preciseIdentifier" : "s:2os0A9_signpost_3dso3log4name0B2ID__yAA24OSSignpostAnimationBeginO_SVSo03OS_a1_D0Cs12StaticStringVAA0gF0VAA0h6FormatL0O12OSLogMessageVs7CVarArg_pdtF"
  },
  "title" : "os_signpost(_:dso:log:name:signpostID:_:_:)"
}
-->

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

Logs the beginning of an animation as a point-of-interest in your code, and includes the specified message in the logs.

```
func os_signpost(_ animationBegin: OSSignpostAnimationBegin, dso: UnsafeRawPointer = #dsohandle, log: OSLog, name: StaticString, signpostID: OSSignpostID = .exclusive, _ format: AnimationFormatString.OSLogMessage, _ arguments: any CVarArg...)
```

## Parameters

`animationBegin`

The type of animation signpost to create.

`log`

The log object to write the signpost to.

`name`

The name of the signpost.

`signpostID`

A signpost identifier you use to disambiguate between signposts with the same name. If you specify [`invalid`](/documentation/os/OSSignpostID/invalid) or [`null`](/documentation/os/OSSignpostID/null) for this parameter, this method does nothing.

`format`

A constant string or format string that produces a human-readable log message.

`arguments`

Additional arguments to substitute into the `format` string parameter. Pass the expected number of arguments in the order that they appear in the string. If `format` is a constant string, don’t include any additional arguments.

---

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)