From c9018248688b9e596ab26ea0f838184fe56b6d52 Mon Sep 17 00:00:00 2001 From: Robert Hajek Date: Tue, 14 Dec 2021 09:08:57 +0100 Subject: [PATCH] feat: rebased on master --- plugins/inputs/varnish/README.md | 334 ------------------------- plugins/inputs/varnish/varnish_test.go | 15 +- 2 files changed, 7 insertions(+), 342 deletions(-) diff --git a/plugins/inputs/varnish/README.md b/plugins/inputs/varnish/README.md index 2fc6c10177ede..4d42a168da16f 100644 --- a/plugins/inputs/varnish/README.md +++ b/plugins/inputs/varnish/README.md @@ -44,332 +44,6 @@ stats = ["MAIN.cache_hit", "MAIN.cache_miss", "MAIN.uptime"] # timeout = "1s" ``` -### Finding Active VCL -Plugin uses `varnishadm` commandline to find the active VCL. Metrics that are related to the nonactive VCL are excluded from -monitoring. - -Finding the VCL name in a varnish measurement can be adjusted by using custom GO regular expressions. By default, the plugin has a -builtin list of regexps for KVSTORE, Dynamic Backends (goto) and XCNT metrics types. Additional regexps can be -specified in configuration: - -#### Example for (libvmod-xcounter): -```toml -[[inputs.varnish]] - regexps = ['^XCNT\.(?P<_vcl>[\w\-]*)(\.)*(?P[\w\-.+]*)\.(?P<_field>[\w\-.+]*)\.val'] -``` -`XCNT.reload_20181118_042545_24957.example_net.val` -> measurement = varnish_xcnt, field="example_net" -`XCNT.aaa.bbb.example_net.val` -> measurement = varnish_xcnt, tag "my_tag"->"bbb" and field="example_net" - -Regexps uses a special named group `(?P<_vcl>[\w\-]*)(\.)` to extract VCL name. `(?P<_field>[\w\-.+]*)\.val` regexp group -extracts the field name. All other named regexp groups like `(?P[\w\-.+]*)` are tags. - -_Tip: It is useful to verify regexps using online tools like https://regoio.herokuapp.com/._ - -## Measurements & Fields -### Measurements & Fields (metric_version=1): - -This is the full list of stats provided by varnish. Stats will be grouped by their capitalized prefix (eg MAIN, -MEMPOOL, etc). In the output, the prefix will be used as a tag, and removed from field names. - -- varnish - - MAIN.uptime (uint64, count, Child process uptime) - - MAIN.sess_conn (uint64, count, Sessions accepted) - - MAIN.sess_drop (uint64, count, Sessions dropped) - - MAIN.sess_fail (uint64, count, Session accept failures) - - MAIN.sess_pipe_overflow (uint64, count, Session pipe overflow) - - MAIN.client_req_400 (uint64, count, Client requests received,) - - MAIN.client_req_411 (uint64, count, Client requests received,) - - MAIN.client_req_413 (uint64, count, Client requests received,) - - MAIN.client_req_417 (uint64, count, Client requests received,) - - MAIN.client_req (uint64, count, Good client requests) - - MAIN.cache_hit (uint64, count, Cache hits) - - MAIN.cache_hitpass (uint64, count, Cache hits for) - - MAIN.cache_miss (uint64, count, Cache misses) - - MAIN.backend_conn (uint64, count, Backend conn. success) - - MAIN.backend_unhealthy (uint64, count, Backend conn. not) - - MAIN.backend_busy (uint64, count, Backend conn. too) - - MAIN.backend_fail (uint64, count, Backend conn. failures) - - MAIN.backend_reuse (uint64, count, Backend conn. reuses) - - MAIN.backend_toolate (uint64, count, Backend conn. was) - - MAIN.backend_recycle (uint64, count, Backend conn. recycles) - - MAIN.backend_retry (uint64, count, Backend conn. retry) - - MAIN.fetch_head (uint64, count, Fetch no body) - - MAIN.fetch_length (uint64, count, Fetch with Length) - - MAIN.fetch_chunked (uint64, count, Fetch chunked) - - MAIN.fetch_eof (uint64, count, Fetch EOF) - - MAIN.fetch_bad (uint64, count, Fetch bad T- E) - - MAIN.fetch_close (uint64, count, Fetch wanted close) - - MAIN.fetch_oldhttp (uint64, count, Fetch pre HTTP/1.1) - - MAIN.fetch_zero (uint64, count, Fetch zero len) - - MAIN.fetch_1xx (uint64, count, Fetch no body) - - MAIN.fetch_204 (uint64, count, Fetch no body) - - MAIN.fetch_304 (uint64, count, Fetch no body) - - MAIN.fetch_failed (uint64, count, Fetch failed (all) - - MAIN.fetch_no_thread (uint64, count, Fetch failed (no) - - MAIN.pools (uint64, count, Number of thread) - - MAIN.threads (uint64, count, Total number of) - - MAIN.threads_limited (uint64, count, Threads hit max) - - MAIN.threads_created (uint64, count, Threads created) - - MAIN.threads_destroyed (uint64, count, Threads destroyed) - - MAIN.threads_failed (uint64, count, Thread creation failed) - - MAIN.thread_queue_len (uint64, count, Length of session) - - MAIN.busy_sleep (uint64, count, Number of requests) - - MAIN.busy_wakeup (uint64, count, Number of requests) - - MAIN.sess_queued (uint64, count, Sessions queued for) - - MAIN.sess_dropped (uint64, count, Sessions dropped for) - - MAIN.n_object (uint64, count, object structs made) - - MAIN.n_vampireobject (uint64, count, unresurrected objects) - - MAIN.n_objectcore (uint64, count, objectcore structs made) - - MAIN.n_objecthead (uint64, count, objecthead structs made) - - MAIN.n_waitinglist (uint64, count, waitinglist structs made) - - MAIN.n_backend (uint64, count, Number of backends) - - MAIN.n_expired (uint64, count, Number of expired) - - MAIN.n_lru_nuked (uint64, count, Number of LRU) - - MAIN.n_lru_moved (uint64, count, Number of LRU) - - MAIN.losthdr (uint64, count, HTTP header overflows) - - MAIN.s_sess (uint64, count, Total sessions seen) - - MAIN.s_req (uint64, count, Total requests seen) - - MAIN.s_pipe (uint64, count, Total pipe sessions) - - MAIN.s_pass (uint64, count, Total pass- ed requests) - - MAIN.s_fetch (uint64, count, Total backend fetches) - - MAIN.s_synth (uint64, count, Total synthetic responses) - - MAIN.s_req_hdrbytes (uint64, count, Request header bytes) - - MAIN.s_req_bodybytes (uint64, count, Request body bytes) - - MAIN.s_resp_hdrbytes (uint64, count, Response header bytes) - - MAIN.s_resp_bodybytes (uint64, count, Response body bytes) - - MAIN.s_pipe_hdrbytes (uint64, count, Pipe request header) - - MAIN.s_pipe_in (uint64, count, Piped bytes from) - - MAIN.s_pipe_out (uint64, count, Piped bytes to) - - MAIN.sess_closed (uint64, count, Session Closed) - - MAIN.sess_pipeline (uint64, count, Session Pipeline) - - MAIN.sess_readahead (uint64, count, Session Read Ahead) - - MAIN.sess_herd (uint64, count, Session herd) - - MAIN.shm_records (uint64, count, SHM records) - - MAIN.shm_writes (uint64, count, SHM writes) - - MAIN.shm_flushes (uint64, count, SHM flushes due) - - MAIN.shm_cont (uint64, count, SHM MTX contention) - - MAIN.shm_cycles (uint64, count, SHM cycles through) - - MAIN.sms_nreq (uint64, count, SMS allocator requests) - - MAIN.sms_nobj (uint64, count, SMS outstanding allocations) - - MAIN.sms_nbytes (uint64, count, SMS outstanding bytes) - - MAIN.sms_balloc (uint64, count, SMS bytes allocated) - - MAIN.sms_bfree (uint64, count, SMS bytes freed) - - MAIN.backend_req (uint64, count, Backend requests made) - - MAIN.n_vcl (uint64, count, Number of loaded) - - MAIN.n_vcl_avail (uint64, count, Number of VCLs) - - MAIN.n_vcl_discard (uint64, count, Number of discarded) - - MAIN.bans (uint64, count, Count of bans) - - MAIN.bans_completed (uint64, count, Number of bans) - - MAIN.bans_obj (uint64, count, Number of bans) - - MAIN.bans_req (uint64, count, Number of bans) - - MAIN.bans_added (uint64, count, Bans added) - - MAIN.bans_deleted (uint64, count, Bans deleted) - - MAIN.bans_tested (uint64, count, Bans tested against) - - MAIN.bans_obj_killed (uint64, count, Objects killed by) - - MAIN.bans_lurker_tested (uint64, count, Bans tested against) - - MAIN.bans_tests_tested (uint64, count, Ban tests tested) - - MAIN.bans_lurker_tests_tested (uint64, count, Ban tests tested) - - MAIN.bans_lurker_obj_killed (uint64, count, Objects killed by) - - MAIN.bans_dups (uint64, count, Bans superseded by) - - MAIN.bans_lurker_contention (uint64, count, Lurker gave way) - - MAIN.bans_persisted_bytes (uint64, count, Bytes used by) - - MAIN.bans_persisted_fragmentation (uint64, count, Extra bytes in) - - MAIN.n_purges (uint64, count, Number of purge) - - MAIN.n_obj_purged (uint64, count, Number of purged) - - MAIN.exp_mailed (uint64, count, Number of objects) - - MAIN.exp_received (uint64, count, Number of objects) - - MAIN.hcb_nolock (uint64, count, HCB Lookups without) - - MAIN.hcb_lock (uint64, count, HCB Lookups with) - - MAIN.hcb_insert (uint64, count, HCB Inserts) - - MAIN.esi_errors (uint64, count, ESI parse errors) - - MAIN.esi_warnings (uint64, count, ESI parse warnings) - - MAIN.vmods (uint64, count, Loaded VMODs) - - MAIN.n_gzip (uint64, count, Gzip operations) - - MAIN.n_gunzip (uint64, count, Gunzip operations) - - MAIN.vsm_free (uint64, count, Free VSM space) - - MAIN.vsm_used (uint64, count, Used VSM space) - - MAIN.vsm_cooling (uint64, count, Cooling VSM space) - - MAIN.vsm_overflow (uint64, count, Overflow VSM space) - - MAIN.vsm_overflowed (uint64, count, Overflowed VSM space) - - MGT.uptime (uint64, count, Management process uptime) - - MGT.child_start (uint64, count, Child process started) - - MGT.child_exit (uint64, count, Child process normal) - - MGT.child_stop (uint64, count, Child process unexpected) - - MGT.child_died (uint64, count, Child process died) - - MGT.child_dump (uint64, count, Child process core) - - MGT.child_panic (uint64, count, Child process panic) - - MEMPOOL.vbc.live (uint64, count, In use) - - MEMPOOL.vbc.pool (uint64, count, In Pool) - - MEMPOOL.vbc.sz_wanted (uint64, count, Size requested) - - MEMPOOL.vbc.sz_needed (uint64, count, Size allocated) - - MEMPOOL.vbc.allocs (uint64, count, Allocations ) - - MEMPOOL.vbc.frees (uint64, count, Frees ) - - MEMPOOL.vbc.recycle (uint64, count, Recycled from pool) - - MEMPOOL.vbc.timeout (uint64, count, Timed out from) - - MEMPOOL.vbc.toosmall (uint64, count, Too small to) - - MEMPOOL.vbc.surplus (uint64, count, Too many for) - - MEMPOOL.vbc.randry (uint64, count, Pool ran dry) - - MEMPOOL.busyobj.live (uint64, count, In use) - - MEMPOOL.busyobj.pool (uint64, count, In Pool) - - MEMPOOL.busyobj.sz_wanted (uint64, count, Size requested) - - MEMPOOL.busyobj.sz_needed (uint64, count, Size allocated) - - MEMPOOL.busyobj.allocs (uint64, count, Allocations ) - - MEMPOOL.busyobj.frees (uint64, count, Frees ) - - MEMPOOL.busyobj.recycle (uint64, count, Recycled from pool) - - MEMPOOL.busyobj.timeout (uint64, count, Timed out from) - - MEMPOOL.busyobj.toosmall (uint64, count, Too small to) - - MEMPOOL.busyobj.surplus (uint64, count, Too many for) - - MEMPOOL.busyobj.randry (uint64, count, Pool ran dry) - - MEMPOOL.req0.live (uint64, count, In use) - - MEMPOOL.req0.pool (uint64, count, In Pool) - - MEMPOOL.req0.sz_wanted (uint64, count, Size requested) - - MEMPOOL.req0.sz_needed (uint64, count, Size allocated) - - MEMPOOL.req0.allocs (uint64, count, Allocations ) - - MEMPOOL.req0.frees (uint64, count, Frees ) - - MEMPOOL.req0.recycle (uint64, count, Recycled from pool) - - MEMPOOL.req0.timeout (uint64, count, Timed out from) - - MEMPOOL.req0.toosmall (uint64, count, Too small to) - - MEMPOOL.req0.surplus (uint64, count, Too many for) - - MEMPOOL.req0.randry (uint64, count, Pool ran dry) - - MEMPOOL.sess0.live (uint64, count, In use) - - MEMPOOL.sess0.pool (uint64, count, In Pool) - - MEMPOOL.sess0.sz_wanted (uint64, count, Size requested) - - MEMPOOL.sess0.sz_needed (uint64, count, Size allocated) - - MEMPOOL.sess0.allocs (uint64, count, Allocations ) - - MEMPOOL.sess0.frees (uint64, count, Frees ) - - MEMPOOL.sess0.recycle (uint64, count, Recycled from pool) - - MEMPOOL.sess0.timeout (uint64, count, Timed out from) - - MEMPOOL.sess0.toosmall (uint64, count, Too small to) - - MEMPOOL.sess0.surplus (uint64, count, Too many for) - - MEMPOOL.sess0.randry (uint64, count, Pool ran dry) - - MEMPOOL.req1.live (uint64, count, In use) - - MEMPOOL.req1.pool (uint64, count, In Pool) - - MEMPOOL.req1.sz_wanted (uint64, count, Size requested) - - MEMPOOL.req1.sz_needed (uint64, count, Size allocated) - - MEMPOOL.req1.allocs (uint64, count, Allocations ) - - MEMPOOL.req1.frees (uint64, count, Frees ) - - MEMPOOL.req1.recycle (uint64, count, Recycled from pool) - - MEMPOOL.req1.timeout (uint64, count, Timed out from) - - MEMPOOL.req1.toosmall (uint64, count, Too small to) - - MEMPOOL.req1.surplus (uint64, count, Too many for) - - MEMPOOL.req1.randry (uint64, count, Pool ran dry) - - MEMPOOL.sess1.live (uint64, count, In use) - - MEMPOOL.sess1.pool (uint64, count, In Pool) - - MEMPOOL.sess1.sz_wanted (uint64, count, Size requested) - - MEMPOOL.sess1.sz_needed (uint64, count, Size allocated) - - MEMPOOL.sess1.allocs (uint64, count, Allocations ) - - MEMPOOL.sess1.frees (uint64, count, Frees ) - - MEMPOOL.sess1.recycle (uint64, count, Recycled from pool) - - MEMPOOL.sess1.timeout (uint64, count, Timed out from) - - MEMPOOL.sess1.toosmall (uint64, count, Too small to) - - MEMPOOL.sess1.surplus (uint64, count, Too many for) - - MEMPOOL.sess1.randry (uint64, count, Pool ran dry) - - SMA.s0.c_req (uint64, count, Allocator requests) - - SMA.s0.c_fail (uint64, count, Allocator failures) - - SMA.s0.c_bytes (uint64, count, Bytes allocated) - - SMA.s0.c_freed (uint64, count, Bytes freed) - - SMA.s0.g_alloc (uint64, count, Allocations outstanding) - - SMA.s0.g_bytes (uint64, count, Bytes outstanding) - - SMA.s0.g_space (uint64, count, Bytes available) - - SMA.Transient.c_req (uint64, count, Allocator requests) - - SMA.Transient.c_fail (uint64, count, Allocator failures) - - SMA.Transient.c_bytes (uint64, count, Bytes allocated) - - SMA.Transient.c_freed (uint64, count, Bytes freed) - - SMA.Transient.g_alloc (uint64, count, Allocations outstanding) - - SMA.Transient.g_bytes (uint64, count, Bytes outstanding) - - SMA.Transient.g_space (uint64, count, Bytes available) - - VBE.default(127.0.0.1,,8080).vcls (uint64, count, VCL references) - - VBE.default(127.0.0.1,,8080).happy (uint64, count, Happy health probes) - - VBE.default(127.0.0.1,,8080).bereq_hdrbytes (uint64, count, Request header bytes) - - VBE.default(127.0.0.1,,8080).bereq_bodybytes (uint64, count, Request body bytes) - - VBE.default(127.0.0.1,,8080).beresp_hdrbytes (uint64, count, Response header bytes) - - VBE.default(127.0.0.1,,8080).beresp_bodybytes (uint64, count, Response body bytes) - - VBE.default(127.0.0.1,,8080).pipe_hdrbytes (uint64, count, Pipe request header) - - VBE.default(127.0.0.1,,8080).pipe_out (uint64, count, Piped bytes to) - - VBE.default(127.0.0.1,,8080).pipe_in (uint64, count, Piped bytes from) - - LCK.sms.creat (uint64, count, Created locks) - - LCK.sms.destroy (uint64, count, Destroyed locks) - - LCK.sms.locks (uint64, count, Lock Operations) - - LCK.smp.creat (uint64, count, Created locks) - - LCK.smp.destroy (uint64, count, Destroyed locks) - - LCK.smp.locks (uint64, count, Lock Operations) - - LCK.sma.creat (uint64, count, Created locks) - - LCK.sma.destroy (uint64, count, Destroyed locks) - - LCK.sma.locks (uint64, count, Lock Operations) - - LCK.smf.creat (uint64, count, Created locks) - - LCK.smf.destroy (uint64, count, Destroyed locks) - - LCK.smf.locks (uint64, count, Lock Operations) - - LCK.hsl.creat (uint64, count, Created locks) - - LCK.hsl.destroy (uint64, count, Destroyed locks) - - LCK.hsl.locks (uint64, count, Lock Operations) - - LCK.hcb.creat (uint64, count, Created locks) - - LCK.hcb.destroy (uint64, count, Destroyed locks) - - LCK.hcb.locks (uint64, count, Lock Operations) - - LCK.hcl.creat (uint64, count, Created locks) - - LCK.hcl.destroy (uint64, count, Destroyed locks) - - LCK.hcl.locks (uint64, count, Lock Operations) - - LCK.vcl.creat (uint64, count, Created locks) - - LCK.vcl.destroy (uint64, count, Destroyed locks) - - LCK.vcl.locks (uint64, count, Lock Operations) - - LCK.sessmem.creat (uint64, count, Created locks) - - LCK.sessmem.destroy (uint64, count, Destroyed locks) - - LCK.sessmem.locks (uint64, count, Lock Operations) - - LCK.sess.creat (uint64, count, Created locks) - - LCK.sess.destroy (uint64, count, Destroyed locks) - - LCK.sess.locks (uint64, count, Lock Operations) - - LCK.wstat.creat (uint64, count, Created locks) - - LCK.wstat.destroy (uint64, count, Destroyed locks) - - LCK.wstat.locks (uint64, count, Lock Operations) - - LCK.herder.creat (uint64, count, Created locks) - - LCK.herder.destroy (uint64, count, Destroyed locks) - - LCK.herder.locks (uint64, count, Lock Operations) - - LCK.wq.creat (uint64, count, Created locks) - - LCK.wq.destroy (uint64, count, Destroyed locks) - - LCK.wq.locks (uint64, count, Lock Operations) - - LCK.objhdr.creat (uint64, count, Created locks) - - LCK.objhdr.destroy (uint64, count, Destroyed locks) - - LCK.objhdr.locks (uint64, count, Lock Operations) - - LCK.exp.creat (uint64, count, Created locks) - - LCK.exp.destroy (uint64, count, Destroyed locks) - - LCK.exp.locks (uint64, count, Lock Operations) - - LCK.lru.creat (uint64, count, Created locks) - - LCK.lru.destroy (uint64, count, Destroyed locks) - - LCK.lru.locks (uint64, count, Lock Operations) - - LCK.cli.creat (uint64, count, Created locks) - - LCK.cli.destroy (uint64, count, Destroyed locks) - - LCK.cli.locks (uint64, count, Lock Operations) - - LCK.ban.creat (uint64, count, Created locks) - - LCK.ban.destroy (uint64, count, Destroyed locks) - - LCK.ban.locks (uint64, count, Lock Operations) - - LCK.vbp.creat (uint64, count, Created locks) - - LCK.vbp.destroy (uint64, count, Destroyed locks) - - LCK.vbp.locks (uint64, count, Lock Operations) - - LCK.backend.creat (uint64, count, Created locks) - - LCK.backend.destroy (uint64, count, Destroyed locks) - - LCK.backend.locks (uint64, count, Lock Operations) - - LCK.vcapace.creat (uint64, count, Created locks) - - LCK.vcapace.destroy (uint64, count, Destroyed locks) - - LCK.vcapace.locks (uint64, count, Lock Operations) - - LCK.nbusyobj.creat (uint64, count, Created locks) - - LCK.nbusyobj.destroy (uint64, count, Destroyed locks) - - LCK.nbusyobj.locks (uint64, count, Lock Operations) - - LCK.busyobj.creat (uint64, count, Created locks) - - LCK.busyobj.destroy (uint64, count, Destroyed locks) - - LCK.busyobj.locks (uint64, count, Lock Operations) - - LCK.mempool.creat (uint64, count, Created locks) - - LCK.mempool.destroy (uint64, count, Destroyed locks) - - LCK.mempool.locks (uint64, count, Lock Operations) - - LCK.vxid.creat (uint64, count, Created locks) - - LCK.vxid.destroy (uint64, count, Destroyed locks) - - LCK.vxid.locks (uint64, count, Lock Operations) - - LCK.pipestat.creat (uint64, count, Created locks) - - LCK.pipestat.destroy (uint64, count, Destroyed locks) - - LCK.pipestat.locks (uint64, count, Lock Operations) - -## Tags - -As indicated above, the prefix of a varnish stat will be used as it's 'section' tag. So section tag may have one of -the following values: ### Measurements & Fields (metric_version=1) This is the full list of stats provided by varnish. Stats will be grouped by their capitalized prefix (eg MAIN, MEMPOOL, @@ -682,9 +356,6 @@ following values: - SMA - VBE - LCK - -## Permissions -## Measurements & Fields (metric_version=2): ## Measurements & Fields (metric_version=2) @@ -790,7 +461,6 @@ It's important to note that `instance_name` parameter is not take into account w It's important to note that this plugin references `varnishstat` and `varnishadm`, which may require additional permissions to execute successfully. Depending on the user/group permissions of the telegraf user executing this plugin, you may need to alter the group membership, set facls, or use sudo. -**Group membership (Recommended)**: #### Group membership (Recommended) ```bash @@ -803,7 +473,6 @@ $ groups telegraf telegraf : telegraf varnish ``` -**Extended filesystem ACL's**: #### Extended filesystem ACL's ```bash @@ -848,9 +517,6 @@ Defaults!VARNISHSTAT !logfile, !syslog, !pam_session Please use the solution you see as most appropriate. -## Example Output - -```shell ### Example Output ```bash diff --git a/plugins/inputs/varnish/varnish_test.go b/plugins/inputs/varnish/varnish_test.go index 446c3f45fdb82..7b119c8e37de0 100644 --- a/plugins/inputs/varnish/varnish_test.go +++ b/plugins/inputs/varnish/varnish_test.go @@ -6,7 +6,6 @@ package varnish import ( "bytes" "fmt" - "github.com/stretchr/testify/require" "io/ioutil" "strings" "testing" @@ -520,7 +519,7 @@ func TestV2ParseVarnishNames(t *testing.T) { }, } { v := &Varnish{regexpsCompiled: defaultRegexps, Regexps: c.customRegexps} - assert.NoError(t, v.Init()) + require.NoError(t, v.Init()) vMetric := v.parseMetricV2(c.vName) require.Equal(t, c.activeVcl, vMetric.vclName) require.Equal(t, "varnish", vMetric.measurement, c.vName) @@ -531,7 +530,7 @@ func TestV2ParseVarnishNames(t *testing.T) { func TestVersions(t *testing.T) { server := &Varnish{regexpsCompiled: defaultRegexps} - assert.NoError(t, server.Init()) + require.NoError(t, server.Init()) require.Equal(t, "A plugin to collect stats from Varnish HTTP Cache", server.Description()) acc := &testutil.Accumulator{} @@ -610,7 +609,7 @@ func TestJsonTypes(t *testing.T) { Stats: []string{"*"}, MetricVersion: 2, } - assert.NoError(t, v.Gather(acc)) + require.NoError(t, v.Gather(acc)) require.Equal(t, len(exp), len(acc.Metrics)) for _, metric := range acc.Metrics { require.Equal(t, "varnish", metric.Measurement) @@ -623,11 +622,11 @@ func TestJsonTypes(t *testing.T) { func TestVarnishAdmJson(t *testing.T) { admJSON, _ := ioutil.ReadFile("test_data/" + "varnishadm-200.json") activeVcl, err := getActiveVCLJson(bytes.NewBuffer(admJSON)) - assert.NoError(t, err) - assert.Equal(t, activeVcl, "boot-123") + require.NoError(t, err) + require.Equal(t, activeVcl, "boot-123") admJSON, _ = ioutil.ReadFile("test_data/" + "varnishadm-reload.json") activeVcl, err = getActiveVCLJson(bytes.NewBuffer(admJSON)) - assert.NoError(t, err) - assert.Equal(t, activeVcl, "reload_20210723_091821_2056185") + require.NoError(t, err) + require.Equal(t, activeVcl, "reload_20210723_091821_2056185") }