Browse Source

Merge 51ff4f7e76 into 3fa93c0577

pull/22/merge
Fredrik Ekre 1 year ago committed by GitHub
parent
commit
4d0990ceba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 26
      .github/workflows/Documentation.yml
  2. 28
      .github/workflows/Test.yml
  3. 2
      Project.toml
  4. 54
      src/Prometheus.jl
  5. 2
      src/process_collector.jl

26
.github/workflows/Documentation.yml

@ -0,0 +1,26 @@
---
name: Documentation
on:
push:
branches:
- 'master'
- 'release-'
tags: ['*']
pull_request:
jobs:
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1.11'
- uses: julia-actions/cache@v2
- name: Install dependencies
run: julia --project=docs -e 'using Pkg; Pkg.instantiate()'
- name: Build and deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
run: julia --project=docs --color=yes docs/make.jl

28
.github/workflows/CI.yml → .github/workflows/Test.yml

@ -1,13 +1,12 @@
name: CI ---
name: Test
on: on:
push: push:
branches: branches:
- 'master' - 'master'
- 'release-' - 'release-'
tags: '*' tags: ['*']
pull_request: pull_request:
jobs: jobs:
test: test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ github.event_name }} name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ github.event_name }}
@ -15,10 +14,7 @@ jobs:
strategy: strategy:
matrix: matrix:
version: version:
- '1.6' - '1.10'
- '1.7'
- '1.8'
- '1.9'
- '1' - '1'
- 'nightly' - 'nightly'
os: os:
@ -41,19 +37,3 @@ jobs:
file: lcov.info file: lcov.info
env: env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1.11'
- uses: julia-actions/cache@v2
- name: Install dependencies
run: julia --project=docs -e 'using Pkg; Pkg.instantiate()'
- name: Build and deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
run: julia --project=docs --color=yes docs/make.jl

2
Project.toml

@ -11,7 +11,7 @@ SimpleBufferStream = "777ac1f9-54b0-4bf8-805c-2214025038e7"
CodecZlib = "0.7" CodecZlib = "0.7"
HTTP = "1" HTTP = "1"
SimpleBufferStream = "1" SimpleBufferStream = "1"
julia = "1.6" julia = "1.10"
[extras] [extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

54
src/Prometheus.jl

@ -64,40 +64,6 @@ function verify_metric_name(metric_name::String)
return metric_name return metric_name
end end
###########################################
# Compat for const fields, @lock, @atomic #
###########################################
@eval macro $(Symbol("const"))(field)
if VERSION >= v"1.8.0-DEV.1148"
Expr(:const, esc(field))
else
return esc(field)
end
end
if VERSION < v"1.7.0"
# Defined but not exported
using Base: @lock
end
if !isdefined(Base, Symbol("@atomic")) # v1.7.0
const ATOMIC_COMPAT_LOCK = ReentrantLock()
macro atomic(expr)
if Meta.isexpr(expr, :(::))
return esc(expr)
else
return quote
lock(ATOMIC_COMPAT_LOCK)
tmp = $(esc(expr))
unlock(ATOMIC_COMPAT_LOCK)
tmp
end
end
end
end
if !isdefined(Base, :eachsplit) # v1.8.0
const eachsplit = split
end
##################### #####################
# CollectorRegistry # # CollectorRegistry #
##################### #####################
@ -151,8 +117,8 @@ end
# certain types of exceptions. This is count_exceptions in Python. # certain types of exceptions. This is count_exceptions in Python.
mutable struct Counter <: Collector mutable struct Counter <: Collector
@const metric_name::String const metric_name::String
@const help::String const help::String
@atomic value::Float64 @atomic value::Float64
function Counter( function Counter(
@ -222,8 +188,8 @@ end
# https://prometheus.io/docs/instrumenting/writing_clientlibs/#gauge # https://prometheus.io/docs/instrumenting/writing_clientlibs/#gauge
mutable struct Gauge <: Collector mutable struct Gauge <: Collector
@const metric_name::String const metric_name::String
@const help::String const help::String
@atomic value::Float64 @atomic value::Float64
function Gauge( function Gauge(
@ -335,12 +301,12 @@ const DEFAULT_BUCKETS = [
] ]
mutable struct Histogram <: Collector mutable struct Histogram <: Collector
@const metric_name::String const metric_name::String
@const help::String const help::String
@const buckets::Vector{Float64} const buckets::Vector{Float64}
@atomic _count::Int @atomic _count::Int
@atomic _sum::Float64 @atomic _sum::Float64
@const bucket_counters::Vector{Threads.Atomic{Int}} const bucket_counters::Vector{Threads.Atomic{Int}}
function Histogram( function Histogram(
metric_name::String, help::String; buckets::Vector{Float64} = DEFAULT_BUCKETS, metric_name::String, help::String; buckets::Vector{Float64} = DEFAULT_BUCKETS,
@ -439,8 +405,8 @@ end
# https://prometheus.io/docs/instrumenting/writing_clientlibs/#summary # https://prometheus.io/docs/instrumenting/writing_clientlibs/#summary
mutable struct Summary <: Collector mutable struct Summary <: Collector
@const metric_name::String const metric_name::String
@const help::String const help::String
@atomic _count::Int @atomic _count::Int
@atomic _sum::Float64 @atomic _sum::Float64

2
src/process_collector.jl

@ -5,7 +5,7 @@
################################# #################################
mutable struct ProcessCollector <: Collector mutable struct ProcessCollector <: Collector
@const pid::Function const pid::Function
@atomic initialized::Ptr{Nothing} @atomic initialized::Ptr{Nothing}
@atomic system_boot_time::Int @atomic system_boot_time::Int
@atomic clock_ticks_per_second::Int @atomic clock_ticks_per_second::Int

Loading…
Cancel
Save