matomo

package
v28.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 15, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package matomo is a client for Matomo to send data points for hint-type=event.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is an analytics client.

func New

func New(endpoint string, opts ...Option) Client

New creates a new Matomo client.

func (Client) Send

func (c Client) Send(params Params) error

Send sends metric event to analytics.

func (Client) SendMetric

func (c Client) SendMetric(sessionID string, metric Metric) error

SendMetric build the metrics and send to analytics.

type Metric

type Metric struct {
	Name            string
	Cmd             string
	OS              string
	Arch            string
	Version         string
	CLIVersion      string
	GoVersion       string
	SDKVersion      string
	BuildDate       string
	SourceHash      string
	ConfigVersion   string
	Uname           string
	CWD             string
	ScaffoldType    string
	BuildFromSource bool
	IsGitPod        bool
	IsCI            bool
}

Metric represents a custom data.

type Option

type Option func(*Client)

Option configures code generation.

func WithIDSite

func WithIDSite(idSite uint) Option

WithIDSite adds an id site.

func WithSource

func WithSource(source string) Option

WithSource adds a matomo URL source.

func WithTokenAuth

func WithTokenAuth(tokenAuth string) Option

WithTokenAuth adds a matomo token authentication.

type Params

type Params struct {
	IDSite      uint   `url:"idsite"`
	Rec         uint   `url:"rec"`
	ActionName  string `url:"action_name"`
	APIVersion  uint   `url:"apiv"`
	TokenAuth   string `url:"token_auth,omitempty"`
	Rand        uint64 `url:"rand,omitempty"`
	URL         string `url:"url,omitempty"`
	UTMSource   string `url:"utm_source,omitempty"`
	UTMMedium   string `url:"utm_medium,omitempty"`
	UTMCampaign string `url:"utm_campaign,omitempty"`
	UTMContent  string `url:"utm_content,omitempty"`
	UserID      string `url:"uid,omitempty"`
	UserAgent   string `url:"ua,omitempty"`
	Hour        int    `url:"h,omitempty"`
	Minute      int    `url:"m,omitempty"`
	Second      int    `url:"s,omitempty"`

	// Dimension1 development mode boolean.
	// 1 = devMode ON | 0 = devMode OFF.
	Dimension1 uint `url:"dimension1"`

	// Dimension2 internal boolean.
	// 1 = internal ON not supported at present | 0 = internal OFF.
	Dimension2 uint `url:"dimension2"`

	// Dimension3 is gitpod (0 or 1).
	// 1 = isGitpod ON | 0 = isGitpod OFF.
	Dimension3 uint `url:"dimension3"`

	// Dimension4 ignite version
	Dimension4 string `url:"dimension4,omitempty"`

	// Dimension6 ignite config version
	Dimension6 string `url:"dimension6,omitempty"`

	// Dimension7 full cli command
	Dimension7 string `url:"dimension7,omitempty"`

	// Dimension11 scaffold customization type
	Dimension11 string `url:"dimension11,omitempty"`

	// Dimension13 command level 1.
	Dimension13 string `url:"dimension13,omitempty"`

	// Dimension14 command level 2.
	Dimension14 string `url:"dimension14,omitempty"`

	// Dimension15 command level 3.
	Dimension15 string `url:"dimension15,omitempty"`

	// Dimension16 command level 4.
	Dimension16 string `url:"dimension16,omitempty"`

	// Dimension17 cosmos-sdk version.
	Dimension17 string `url:"dimension17,omitempty"`

	// Dimension18 operational system.
	Dimension18 string `url:"dimension18,omitempty"`

	// Dimension19 system architecture.
	Dimension19 string `url:"dimension19,omitempty"`

	// Dimension20 golang version.
	Dimension20 string `url:"dimension20,omitempty"`

	// Dimension21 command level 5.
	Dimension21 string `url:"dimension21,omitempty"`

	// Dimension22 command level 6.
	Dimension22 string `url:"dimension22,omitempty"`
}

Params analytics metrics body.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL