PHPackages                             pingevt/timing\_monitor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. pingevt/timing\_monitor

ActiveDrupal-module[Testing &amp; Quality](/categories/testing)

pingevt/timing\_monitor
=======================

Drupal Module for running tests on external sites.

1.0.1(2y ago)16.5k↓30.7%[10 issues](https://github.com/pingevt/timing_monitor/issues)GPL-2.0+PHPPHP ^8.0CI failing

Since May 20Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/pingevt/timing_monitor)[ Packagist](https://packagist.org/packages/pingevt/timing_monitor)[ RSS](/packages/pingevt-timing-monitor/feed)WikiDiscussions 1.x Synced 3d ago

READMEChangelogDependencies (4)Versions (21)Used By (0)

CONTENTS OF THIS FILE
---------------------

[](#contents-of-this-file)

- Introduction
- Installation
- Configuration
- FAQ
- Maintainers
- Changelog

INTRODUCTION
------------

[](#introduction)

This module handles custom functionality for Timing monitor. Current Functionality:

- Creates a singlton class to track timing to monitor large processes.

INSTALLATION
------------

[](#installation)

- Install as you would normally install a contributed Drupal module. Visit  for further information.

CONFIGURATION
-------------

[](#configuration)

Configuration can be found at: /admin/config/development/timing-monitor

USAGE
-----

[](#usage)

```
$tm = TimingMonitor::getInstance();

$tm->logTiming("preprocess_node:$bundle:" . $variables['view_mode'], TimingMonitor::START, "Starting...");
$tm->logTiming("preprocess_node:$bundle:" . $variables['view_mode'], TimingMonitor::MARK, "...Mark...");
$tm->logTiming("preprocess_node:$bundle:" . $variables['view_mode'], TimingMonitor::FINISH, "...Finishing");
```

API Documentation
-----------------

[](#api-documentation)

Endpoint: GET `/api/timing-monitor/status`
------------------------------------------

[](#endpoint-get-apitiming-monitorstatus)

### Example Response

[](#example-response)

```
{
  "status": "OK",
  "data": {
    "count": "261",
    "type_count": "4"
  }
}
```

Endpoint: GET `/api/timing-monitor/types`
-----------------------------------------

[](#endpoint-get-apitiming-monitortypes)

### Example Response

[](#example-response-1)

```
{
  "status": "OK",
  "data": {
    "preprocess_node:article:full": {
      "id": "preprocess_node:article:full",
      "count": "60"
    },
    "preprocess_node:article:teaser": {
      "id": "preprocess_node:article:teaser",
      "count": "141"
    },
    "preprocess_node:page:full": {
      "id": "preprocess_node:page:full",
      "count": "12"
    },
    "timing_monitor": {
      "id": "timing_monitor",
      "count": "48"
    }
  }
}
```

Endpoint: GET `/api/timing-monitor/{type}/list`
-----------------------------------------------

[](#endpoint-get-apitiming-monitortypelist)

### Path Arguments

[](#path-arguments)

argdescriptionoptionstypestring - The type string from the monitorYou can use % in the url (%25 as url encoded) as a wildcard.### Query Arguments

[](#query-arguments)

argdescriptionoptionslimitto be implementedstartto be implementedendto be implemented### Example Response

[](#example-response-2)

```
{
  "status": "OK",
  "data": [
    {
      "id": "260",
      "uid": "1",
      "session_uuid": "c76cda75-6341-4d81-9396-29b65704ae62",
      "type": "preprocess_node:article:full",
      "marker": "finish",
      "message": "...Finishing",
      "variables": "a:0:{}",
      "path": "/sketches-notes/checking-field-content-twig-file",
      "method": "GET",
      "timer": "0.0022380352020264",
      "duration": "0.0021839141845703",
      "timestamp": "1698894252"
    },
    {
      "id": "259",
      "uid": "1",
      "session_uuid": "c76cda75-6341-4d81-9396-29b65704ae62",
      "type": "preprocess_node:article:full",
      "marker": "mark",
      "message": "...Mark...",
      "variables": "a:0:{}",
      "path": "/sketches-notes/checking-field-content-twig-file",
      "method": "GET",
      "timer": "0.0001380443572998",
      "duration": "8.392333984375E-5",
      "timestamp": "1698894252"
    }
  ]
}
```

Endpoint: GET `/api/timing-monitor/{type}/daily-average`
--------------------------------------------------------

[](#endpoint-get-apitiming-monitortypedaily-average)

### Path Arguments

[](#path-arguments-1)

argdescriptionoptionstypestring - The type string from the monitorYou can use % in the url (%25 as url encoded) as a wildcard.### Query Arguments

[](#query-arguments-1)

argdescriptionoptionsstartto be implementedendto be implementeddaysto be implemented### Example Response

[](#example-response-3)

```
{
  "status": "OK",
  "data": {
    "type": "preprocess_node:article:full",
    "dates": {
      "2023-11-01": 0.0020719766616821,
      "2023-10-31": 0.0016613245010376,
      "2023-10-30": null,
      "2023-10-29": null,
      "2023-10-28": null,
      "2023-10-27": null,
      "2023-10-26": null
    }
  }
}
```

MAINTAINERS
-----------

[](#maintainers)

Current maintainers:

- Pete Inge (pingevt) -

This project has been sponsored by:

- Bluecadet -

CHANGELOG
---------

[](#changelog)

Unreleased
==========

[](#unreleased)

1.1.x
=====

[](#11x)

- Removes support for D9
- Add support for D11

1.0.1
=====

[](#101)

- Increase size for 'type' and 'marker' cols in the log DB table.
- Verify string are correct length to insert into table.

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~51 days

Recently: every ~120 days

Total

17

Last Release

321d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e354e3aa8f75899d7dc41cc3017e438cbf5c0025f55484d8138fa1c489b010a4?d=identicon)[pingevt](/maintainers/pingevt)

---

Top Contributors

[![pingevt](https://avatars.githubusercontent.com/u/3128823?v=4)](https://github.com/pingevt "pingevt (102 commits)")

### Embed Badge

![Health badge](/badges/pingevt-timing-monitor/health.svg)

```
[![Health](https://phpackages.com/badges/pingevt-timing-monitor/health.svg)](https://phpackages.com/packages/pingevt-timing-monitor)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[govcms/govcms

GovCMS Drupal Distribution

198102.2k3](/packages/govcms-govcms)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[pressbooks/pressbooks-book

This theme is named after Canadian media theorist Marshall McLuhan, who coined the phrase “the medium is the message.” It is designed for academic writing and is also suitable for fiction. Headings are set in Cormorant Garamond, and body type is set in Lora.

206.7k](/packages/pressbooks-pressbooks-book)[fourkitchens/sous-drupal-project

Starter project for Sous a Drupal distribution featuring a theme based on Emulsify Design System.

141.1k](/packages/fourkitchens-sous-drupal-project)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
