---
title: Base collector
slug: base-collector
createdAt: 2025-09-10T13:46:20.472Z
---

The base collector is Factry's collector framework. It contains all common functionality for collectors:

- The commands for installation and upgrades
- The configuration retrieval logic from Factry Historian
- Store-and-forward mechanisms
- Filtering and compression techniques

:::hint{type="info"}
As such, this page serves as a reference for settings that are shared across all collector types. It is not available for download.
:::

The default values will be sufficient in most cases. Make sure you know what you’re doing when changing these variables. Changing these could have unintended side effects!

## Logging

### LogLevel

**Description**: Specifies the log level, only messages with the configured log level will be visible in the system logs and sent to the historian.
**Default**: info

**Log levels**

- trace
- debug
- info

Higher log levels will always be sent to the historian.

## Logging (windows only)

### LogSize

**Description**: The maximum size that a single log file can grow to before it is rotated.
**Default**: 100

### LogFileMax

**Description**: The number of logfiles that will be kept.
**Default**: 10

### LogFileDays

**Description**: The maximum age an archived logfile may have before it is deleted.
**Default**: 10

## Windows

### PriorityClass

**Description**: The priority class for the process. Valid values are NORMAL\_PRIORITY\_CLASS, ABOVE\_NORMAL\_PRIORITY\_CLASS, HIGH\_PRIORITY\_CLASS, REALTIME\_PRIORITY\_CLASS.
**Default**: ABOVE\_NORMAL\_PRIORITY\_CLASS

[More info](https://docs.microsoft.com/en-us/windows/win32/procthread/scheduling-priorities) about the PRIORITY\_CLASS.

## Buffer

The buffer keeps a set amount of points in memory and when this fills up starts writing to a file.
It will periodically process the buffer, from file and then memory, by sending the points to the historian.

### BufferProcessInterval

**Description**: The interval in milliseconds that the buffer processes the buffer.
**Default**: 250

### BufferMaxBatchSize

**Description**: The maximum size of a batch in the buffer.
**Default**: 5000

### BufferMaxBatches

**Description**: The maximum amount of batches the buffer will keep in memory.
**Default**: 20

### BufferDiskBatches

**Description**: The maximum amount of batches that will be written to a buffer file.
**Default**: 100

### BufferMinFreeDiskSpace

**Description**: The buffer wont write to more files if the minimum free disk space is reached.
**Default**: 2GB

:::hint{type="info"}
A negative value means no limit to remaining disk space on the system.
:::

### BufferMaxDiskSpace

**Description**: The maximum disk space that the buffer files may take up. Default no limit.
**Default**: 0MB

:::hint{type="info"}
A negative value means no limit to disk space used.
:::

## Communication

### CompressionLevel

**Description**: The compression level GRPC uses, for default compression. 1-9: 1 = fastest, 9 = most compressed, -1 = default.
**Default**: -1

### GRPCMaxMessageSize

**Description**: The maximum message size for GRPC messages.
**Default**: 64MB

## Ticker

The ticker is used by collectors that poll measurements, like the OPC-UA collector.
This ticker determines how fast the measurements can polled and how accurate it needs to be.

Polled measurements can’t be polled at a lower interval than the ticker.

### TickerInterval

**Description**: The interval for the base ticker in milliseconds.
**Default**: 1000

### TickerResolution

**Description**: The resolution for the base ticker in milliseconds. Maximum 1/10th of the the interval.
**Default**: 25

### TickerMaxDrift

**Description**: The maximum drift a tick may have in milliseconds. Must be lower than the interval.
**Default**: 125

## Other

### AlternativeTimezone

**Description**: The timezone to reinterpret all timestamps in, the name is taken to be a location name corresponding to a file in the IANA Time Zone database.
**Default**: /

### HAPollingInterval

**Description**: The interval in milliseconds at which the backup collector polls the main collector’s health.
**Default**: 1000

### AllowedFutureDuration

**Description**: Defines the maximum duration into the future from the current time (collector’s perspective) that a source timestamp is considered valid.
**Default**: /

### AllowedPast

**Description**: Defines the earliest allowable point in time for source timestamps. This can be specified either as a fixed timestamp (e.g., 2023-07-01T00:00:00Z) or as a duration in the past relative to the current time (e.g., 1w for 1 week ago).
**Default**: /

### BadTimestampAction

**Description**: Specifies the action to take when a timestamp is found to be outside the allowed ranges. Discard: the point is discarded. SendWithCurrent: the point is sent with the current timestamp and BadTimestampOutOfRange instead.
**Default**: Discard

### StatusGood

**Description**: A comma separated list of status strings that will be interpreted as a Good status. Escaping is possible with a backslash.

# Environment variables

This section describes all environment variables that can be configured.

## SERVER\_NAME\_OVERRIDE

**Default value**: historian.factry.local
**Description**: Only need to change this if using a different certificate.
