---
name: "pmFreeLabelSets"
section: "3"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmFreeLabelSets"
---

# pmFreeLabelSets(3)

release storage allocated for performance metric labels

## NAME

**pmFreeLabelSets** - release storage allocated for performance metric labels

## C SYNOPSIS

**#include \<pcp/pmapi.h\>**

**void pmFreeLabelSets(pmLabelSet \****sets***, int** *nsets***);**

**cc ... -lpcp**

## DESCRIPTION

The array of label *sets* returned by [**pmLookupLabels**(3)](/pmLookupLabels/3.md) and related APIs are allocated below the Performance Metrics Application Programming Interface (PMAPI) using a variety of calls to the system's dynamic memory allocation (i.e. [**malloc**(3)](/malloc/3.md)) interfaces.

Applications should call **pmFreeLabelSets** to release the storage previously allocated for the label *sets* array when access to the structure is no longer needed. The return value from **pmLookupLabels** indicates the number of elements in the label *sets* array, and this should be passed in using the *nsets* parameter.

Under **no** circumstances should an application use *free(labelset)* to release storage previously allocated for a *pmLabelSet* by [**pmLookupLabels**(3)](/pmLookupLabels/3.md) or related APIs.

To simplify error handling, if *sets* is **NULL** then *pmFreeLabelSets* simply returns without freeing any storage.

## SEE ALSO

[**malloc**(3)](/malloc/3.md), [**PMAPI**(3)](/PMAPI/3.md) and [**pmLookupLabels**(3)](/pmLookupLabels/3.md).
