Documentation ¶
Overview ¶
Package ffexporter defines the data exporter of go-feature-flag
Theses exporters are usable in your init configuration.
ffclient.Init(ffclient.Config{ //... DataExporter: ffclient.DataExporter{ FlushInterval: 10 * time.Second, MaxEventInMemory: 1000, Exporter: &ffexporter.File{ OutputDir: "/output-data/", }, }, //... })
Check in this package available exporters.
Index ¶
Constants ¶
View Source
const DefaultCsvTemplate = "{{ .Kind}};{{ .ContextKind}};{{ .UserKey}};{{ .CreationDate}};{{ .Key}};{{ .Variation}};" +
"{{ .Value}};{{ .Default}}\n"
View Source
const DefaultFilenameTemplate = "flag-variation-{{ .Hostname}}-{{ .Timestamp}}.{{ .Format}}"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type File ¶
type File struct { // Format is the output format you want in your exported file. // Available format are JSON and CSV. // Default: JSON Format string // OutputDir is the location of the directory where to store the exported files // It should finish with a / // Default: the current directory OutputDir string // Filename is the name of your output file // You can use a templated config to define the name of your export files. // Available replacement are {{ .Hostname}}, {{ .Timestamp}} and {{ .Format}} // Default: "flag-variation-{{ .Hostname}}-{{ .Timestamp}}.{{ .Format}}" Filename string // CsvTemplate is used if your output format is CSV. // This field will be ignored if you are using another format than CSV. // You can decide which fields you want in your CSV line with a go-template syntax, // please check internal/exporter/feature_event.go to see what are the fields available. // Default: // {{ .Kind}};{{ .ContextKind}};{{ .UserKey}};{{ .CreationDate}};{{ .Key}};{{ .Variation}};{{ .Value}};{{ .Default}}\n CsvTemplate string // contains filtered or unexported fields }
type Log ¶ added in v0.11.0
type Log struct { // Format is the template configuration of the output format of your log. // You can use all the key from the exporter.FeatureEvent + a key called FormattedDate that represent the date with // the RFC 3339 Format // Default: [{{ .FormattedDate}}] user="{{ .UserKey}}", flag="{{ .Key}}", value="{{ .Value}}" Format string // contains filtered or unexported fields }
type S3 ¶ added in v0.12.0
type S3 struct { // Bucket is the name of your S3 Bucket. Bucket string // AwsConfig is the AWS SDK configuration object we will use to // upload your exported data files. AwsConfig *aws.Config // Format is the output format you want in your exported file. // Available format are JSON and CSV. // Default: JSON Format string // S3Path allows you to specify in which directory you want to export your data. S3Path string // Filename is the name of your output file // You can use a templated config to define the name of your export files. // Available replacement are {{ .Hostname}}, {{ .Timestamp}} and {{ .Format}} // Default: "flag-variation-{{ .Hostname}}-{{ .Timestamp}}.{{ .Format}}" Filename string // CsvTemplate is used if your output format is CSV. // This field will be ignored if you are using another format than CSV. // You can decide which fields you want in your CSV line with a go-template syntax, // please check internal/exporter/feature_event.go to see what are the fields available. // Default: // {{ .Kind}};{{ .ContextKind}};{{ .UserKey}};{{ .CreationDate}};{{ .Key}};{{ .Variation}};{{ .Value}};{{ .Default}}\n CsvTemplate string // contains filtered or unexported fields }
type Webhook ¶ added in v0.13.0
type Webhook struct { // EndpointURL of your webhook EndpointURL string // Secret used to sign your request body. Secret string // Meta information that you want to send to your webhook (not mandatory) Meta map[string]string // contains filtered or unexported fields }
Webhook is the exporter of your data to a webhook.
It calls the EndpointURL with a POST request with the following format:
{ "meta": { "hostname": "server01", }, "events": [ { "kind": "feature", "contextKind": "anonymousUser", "userKey": "14613538188334553206", "creationDate": 1618909178, "key": "test-flag", "variation": "Default", "value": false, "default": false }, ] }
Click to show internal directories.
Click to hide internal directories.