Download the PHP package oxid-support/heartbeat without Composer

On this page you can find all versions of the php package oxid-support/heartbeat. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package heartbeat

OXS :: Heartbeat

OXS Heartbeat is an OXID eShop module that enables remote monitoring and support for OXID shops.

It provides:

All components are accessible via GraphQL API, allowing OXID Support to remotely analyze shop issues without direct server access.

Full Control: Remote access is completely optional. Each component can be enabled/disabled independently by the shop operator. No data is transmitted unless explicitly activated. Access can be revoked at any time.


Installation

Step 1: Install via Composer

Composer automatically selects the version that matches your OXID installation. No version constraint or repository configuration required.

For local development

Note: The OXID GraphQL Base and GraphQL Configuration Access modules are installed automatically as dependencies.

Step 2: Run Database Migrations

Step 3: Clear Shop Cache

Step 4: Activate Modules

Important: The GraphQL modules must be activated before activating the Heartbeat module.

For more details on OXID GraphQL installation, see the official documentation.

Module Information

Local Storage Only: This module writes logs exclusively to server's local filesystem (OX_BASE_PATH/log/oxs-heartbeat/). No data is transmitted to external services or third parties.


Compatibility

Composer picks the right module version based on the installed OXID core. Customers never need to specify a module version manually.

Branch structure

This repo follows a reactive stabilization-branch pattern (similar to Symfony and Doctrine):

Where to open your PR:

Updating an existing installation

When a new module version is released:

The module remains activated; no re-activation needed. Cache clear is required in production to pick up new DI container configuration.

When upgrading OXID itself to another minor or major version:

This re-resolves the constraint and picks the module version that matches the new OXID. Two possible outcomes:


Components

The Heartbeat module consists of several components:

1. API User

Manages the API user for remote access to Heartbeat components. Required for all remote-enabled components (Request Logger, Log Sender, Diagnostics Provider). Set this up first.

2. Request Logger

Records controller actions, request parameters and the classes loaded during the lifecycle of a request to local log files. Includes GraphQL API for remote configuration.

3. Log Sender

Collects log files from various sources and provides them to external monitoring systems via GraphQL API.

4. Diagnostics Provider

Provides shop diagnostic information (modules, PHP config, server info) via GraphQL API.

All components can be enabled/disabled independently via the Admin interface under OXS :: Heartbeat.


Features

Request Logger Features

Remote Configuration (via GraphQL API)


Module Configuration

The module provides configurable settings accessible via OXID Admin under OXS :: Heartbeat.

API User Setup (Required First)

Navigate to: OXS :: Heartbeat → API User → Setup

The API User is required for all components that need remote access. Follow the setup workflow:

  1. Migrations: Ensure database migrations are executed
  2. GraphQL Base: Ensure GraphQL Base module is activated
  3. Setup Token: Copy the setup token and send it to OXID Support
  4. Activation: Wait for OXID Support to set the API password

Once complete, the API User status shows "Active" and other components can be enabled.

Request Logger Settings

Navigate to: OXS :: Heartbeat → Request Logger → Settings

Note: Requires API User setup to be complete.

1. Component Activation

2. Log Frontend Requests

3. Log Admin Requests

4. Detailed Logging

5. Redact all values

6. Redact Fields

Log Sender Settings

Navigate to: OXS :: Heartbeat → Log Sender → Manage

Note: Requires API User setup to be complete.

Log sources can be registered via:

Diagnostics Provider Settings

Navigate to: OXS :: Heartbeat → Diagnostics Provider → Manage

Note: Requires API User setup to be complete.

Provides the following information via GraphQL API:


Correlation ID System

The module implements a sophisticated correlation ID system that tracks requests across multiple page loads and API calls.

How It Works

  1. ID Resolution: The system attempts to resolve an existing correlation ID from:
    • HTTP Header X-Correlation-Id
    • Cookie X-Correlation-Id
    • If neither exists: Generate new UUID v4
  2. ID Emission: The correlation ID is returned to the client via:
    • HTTP Response Header: X-Correlation-Id: <id>
    • Cookie: X-Correlation-Id=<id>; Max-Age=2592000; Path=/; HttpOnly; SameSite=Lax
  3. Log Association: All log entries include the correlation ID in the context field

Use Cases


Log Events

A request usually emits three entries:

1. request.start

Content:

2. request.symbols

3. request.finish


Output Location & Format

File Location

Logs are written to:

File Organization

Each .log file contains newline-separated log entries in Monolog's format. The context data is JSON-encoded, making it parseable by log analysis tools.


GraphQL API

The Heartbeat module provides GraphQL APIs for remote management of all components.

Authentication

  1. During module activation, an API user ([email protected]) is created
  2. To enable remote access, use the setup token from the Admin interface to set the API user password (via OXID Support: [email protected]) Note: The API user is only used for remote access of the Heartbeats data through the OXID Support and access can be revoked at any time.

    Available Operations

Request Logger:

Log Sender:

Diagnostics Provider:


Testing

Tests run standalone without requiring a full OXID shop installation. The module uses oxideshop-ce as a dev dependency to provide the necessary framework interfaces.

Setup

Run Tests

Test Coverage

The test suite includes unit tests for all components. Some integration tests (e.g., ModuleEvents) are skipped in standalone mode as they require a full shop context.


Development

See COMPONENT_DEVELOPMENT_GUIDE.md for guidelines on developing new components for this module.


License

See LICENSE file for details.


All versions of heartbeat with dependencies

PHP Build Version
Package Version
Requires oxid-esales/oxideshop-ce Version ~7.0.0
oxid-esales/graphql-base Version ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package oxid-support/heartbeat contains the following files

Loading the files please wait ...