Skip to content

Commit

Permalink
Merge pull request #3 from chq81/Added-explanations-for-configuration
Browse files Browse the repository at this point in the history
Added explanations for configuration
  • Loading branch information
Christoph Quadt authored Oct 21, 2020
2 parents 23f6e05 + 99eee2f commit ddb6b3f
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 4 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## 1.0.2 (October 21, 2020)
- Add more detailed configuration options in README

## 1.0.1 (October 21, 2020)
- Add CI (travis.yml, updated vendor constraints)

## 1.0.0 (October 20, 2020)
- Update symfony dependencies to 5.1
- Introduce user context on all listeners
Expand Down
45 changes: 41 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,7 @@ class AppKernel extends Kernel
}
```

Step 3: Add the Bundle config file
----------------------------------
### Step 3: Add the Bundle config file

Then, add the bundle configuration yml file `elastic_apm.yml` into
`app/config` directory:
Expand All @@ -67,9 +66,9 @@ Then, add the bundle configuration yml file `elastic_apm.yml` into
elastic_apm:
enabled: true # Activate the APM Agent, default is true
serviceName: 'Symfony APM App' # The name of your service, required
environment: dev # The environment of your service
serverUrl: 'http://localhost:8200' # The URL for your APM service. The URL must be fully qualified, including the protocol and port.
serverUrl: 'http://localhost:8200' # The URL for your APM service, required The URL must be fully qualified, including the protocol and port.
secretToken: null # The secret token required to send data to your APM service
environment: dev # The environment of your service
```
Import new config file to `config.yml` into `app/config` directory:
Expand All @@ -80,6 +79,44 @@ imports:
- { resource: elastic_apm.yml }
```

Configuration
=============

The following configurations options are provided:

| Option | Default | Example Value(s) | Mandatory | Description |
| ------------- |:-------------:|:-----:|:-----:|:-----:|
| enabled | true | true, false | yes | Activating the APM Agent
| serviceName | "Symfony APM Service" | | yes | The name of your service
| serverUrl | null | "http://localhost:8200" | yes | The URL for your APM service. The URL must be fully qualified, including the protocol and port.
| secretToken | null | "SOME_TOKEN" | no | The secret token required to send data to your APM service
| serviceVersion | null | 1.0 | no | The version of your deployed service
| frameworkName | null | "Symfony" | no | The name of the application framework
| frameworkVersion | null | "5.1.7", !php/const App\Kernel::VERSION | no | The version of the application framework
| environment | null | "dev", '%kernel.environment%' | no | The environment where your service is running
| hostname | null | "local-hostname" | no | The OS hostname on which the agent is running
| env | [] | ['DOCUMENT_ROOT', 'REMOTE_ADDR', 'REMOTE_USER'] | no | $_SERVER vars to send to the APM Server. Keys are case sensitive
| cookies | [] | ['my-cookie'] | no | Cookies to send to the APM Server. Keys are case sensitive
| httpClient | null | "Buzz\Browser" | no | The service reference to the HTTP client to use for APM requests. It needs to implement the Psr\Http\Client\ClientInterface. When left empty, the Http\Discovery\HttpClientDiscovery is used to find any installed http clients.
| timeout | 10 | 10 | no | The timeout for the HTTP client
| logger | null | "monolog.logger" | no | The service reference to the Logger to use in all APM requests. It needs to implement the Psr\Log\LoggerInterface. When left empty, the Psr\Log\NullLogger is used.
| logLevel | INFO | DEBUG | no | The log level of the logger
| stackTraceLimit | 0 | 10 | no | The depth of a transaction stack trace. The default (0) is unlimited depth.
| transactionSampleRate | 1.0 | 1.0 | no | Transactions will be sampled at the given rate (1.0 being 100%). Sampling a transaction means that the context and child events will be included in the data sent to APM. Unsampled transactions are still reported to APM, including the overall transaction time, but will have no details. The default is to sample all (1.0) transactions.

Furthermore, it is possible to de-/activate the data capturing for transactions and errors. Per default, both are enabled.
For errors, status codes and exceptions can be excluded.
See the following example:
```
transactions: # Captures transactions
enabled: true # Activating capturing of transactions, default is true
errors: # Captures errors
enabled: true # Activating capturing of errors, default is true
exclude:
status_codes: [] # Status codes which should not be captured. The default is none.
exceptions: [] # Exceptions which should not be captured. The default is none.
```

## Contributing

Contributions are welcome. Read the [contributing guide](.github/CONTRIBUTING.md) to get started.
Expand Down

0 comments on commit ddb6b3f

Please sign in to comment.