This is the sentry-client Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed Mar 15 05:20:24 2023 GMT+0.
The main system appears first, followed by any subsystem dependency.
sentry-client
Sentry client
Mariano Montone <marianomontone@gmail.com>
MIT
# CL-SENTRY-CLIENT
Sentry client for Common Lisp
WIP
## Basic usage
“‘lisp
(sentry-client:initialize-sentry-client <sentry-dsn>)
(sentry-client:with-sentry-error-handler () (error "test"))
“‘
Or in your own error handler:
“‘lisp
(handler-case (my-code-with-error)
(error (e)
(sentry-client:capture-exception e)
...)))
“‘
### Hunchentoot handler
“‘lisp
(defmethod hunchentoot:maybe-invoke-debugger :after (condition)
(when hunchentoot:*catch-errors-p*
;; There’s an error in trivial-backtrace:map-backtrace in SBCL
;; if we don’t set sb-debug:*stack-top-hint* to NIL
(let ((sb-debug:*stack-top-hint* nil))
(sentry-client:capture-exception condition))))
“‘
Just add ‘sentry-client.hunchentoot‘ as ASDF dependency to include the Hunchentoot handler.
## Async client version
The async version of the client uses simple-tasks library for sending HTTP requests in the background
“‘lisp
(ql:quickload :sentry-client.async)
(sentry-client:initialize-sentry-client <dsn> :client-class ’sentry-client:async-sentry-client)
(sentry-client:test-sentry-client)
“‘
## Screenshots
 
## License
MIT
0.0.1
drakma
(system).
cl-json
(system).
cl-ppcre
(system).
uuid
(system).
local-time
(system).
trivial-backtrace
(system).
package.lisp
(file).
sentry-client.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
sentry-client/sentry-client.lisp
package.lisp
(file).
sentry-client
(system).
*sentry-client*
(special variable).
capture-exception
(function).
initialize-instance
(method).
initialize-sentry-client
(function).
sentry-client
(class).
sentry-tags
(generic function).
test-sentry-client
(function).
with-sentry-error-handler
(macro).
+dsn-regex+
(special variable).
+sentry-timestamp-format+
(special variable).
call-with-sentry-client
(function).
client-capture-exception
(method).
condition-severity-level
(generic function).
connection-timeout
(reader method).
(setf connection-timeout)
(writer method).
dsn
(reader method).
(setf dsn)
(writer method).
encode-core-event-attributes
(function).
encode-exception
(function).
encode-exception-event
(function).
encode-sentry-auth-header
(function).
encode-stacktrace
(function).
format-sentry-timestamp
(function).
make-sentry-client
(function).
make-sentry-event-id
(function).
parse-dsn
(function).
post-sentry-request
(function).
read-dsn
(function).
sentry-api-url
(function).
sentry-transport
(reader method).
(setf sentry-transport)
(writer method).
with-sentry-client
(macro).
Packages are listed by definition order.
sentry-client
# CL-SENTRY-CLIENT
Sentry client for Common Lisp
WIP
## Basic usage
“‘lisp
(sentry-client:initialize-sentry-client <sentry-dsn>)
(sentry-client:with-sentry-error-handler () (error "test"))
“‘
Or in your own error handler:
“‘lisp
(handler-case (my-code-with-error)
(error (e)
(sentry-client:capture-exception e)
...)))
“‘
### Hunchentoot handler
“‘lisp
(defmethod hunchentoot:maybe-invoke-debugger :after (condition)
(when hunchentoot:*catch-errors-p*
;; There’s an error in trivial-backtrace:map-backtrace in SBCL
;; if we don’t set sb-debug:*stack-top-hint* to NIL
(let ((sb-debug:*stack-top-hint* nil))
(sentry-client:capture-exception condition))))
“‘
Just add ‘sentry-client.hunchentoot‘ as ASDF dependency to include the Hunchentoot handler.
## Async client version
The async version of the client uses simple-tasks library for sending HTTP requests in the background
“‘lisp
(ql:quickload :sentry-client.async)
(sentry-client:initialize-sentry-client <dsn> :client-class ’sentry-client:async-sentry-client)
(sentry-client:test-sentry-client)
“‘
## Screenshots
 
## License
MIT
common-lisp
.
*sentry-client*
(special variable).
capture-exception
(function).
initialize-sentry-client
(function).
sentry-client
(class).
sentry-tags
(generic function).
test-sentry-client
(function).
with-sentry-error-handler
(macro).
+dsn-regex+
(special variable).
+sentry-timestamp-format+
(special variable).
call-with-sentry-client
(function).
client-capture-exception
(generic function).
condition-severity-level
(generic function).
connection-timeout
(generic reader).
(setf connection-timeout)
(generic writer).
dsn
(generic reader).
(setf dsn)
(generic writer).
encode-core-event-attributes
(function).
encode-exception
(function).
encode-exception-event
(function).
encode-sentry-auth-header
(function).
encode-stacktrace
(function).
format-sentry-timestamp
(function).
make-sentry-client
(function).
make-sentry-event-id
(function).
parse-dsn
(function).
post-sentry-request
(function).
read-dsn
(function).
sentry-api-url
(function).
sentry-transport
(generic reader).
(setf sentry-transport)
(generic writer).
with-sentry-client
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
The current sentry client.
Setup an error handler that sends conditions signaled in BODY to Sentry.
If RESIGNAL is T (default), then the condition is resignaled after being captured by the Sentry handler.
Send CONDITION to Sentry.
Use for testing the sentry client.
Use: (test-sentry-client ’error "my error")
Returns an alist of tags for ERROR.
User can specialize this generic function for custom CONDITION classes.
condition
)) ¶sentry-client
) &rest initargs) ¶A sentry client
Run BODY in the scope of a sentry client created from CLASS and ARGS.
Call FUNCTION in the context of a SENTRY-CLIENT instantied from CLIENT-CLASS and ARGS.
Encode core Sentry event attributes.
See: https://develop.sentry.dev/sdk/event-payloads/
Encode CONDITION into JSON-STREAM.
Encode CONDITION to a string in JSON format for Sentry.
Encode Sentry authentication header.
Encode stacktrace for CONDITION as JSON in JSON-STREAM.
Format TIMESTAMP for Sentry.
If no TIMESTAMP is provided, then current time is used.
Create an ID for a new Sentry event.
Parse a DSN string to a list object.
See: https://docs.sentry.io/product/sentry-basics/dsn-explainer/
Just send DATA to sentry api via HTTP.
Return a DSN object. If DSN is an object already, it returns it. If it is a string, it parses it.
The events url.
See: https://develop.sentry.dev/sdk/store/
sentry-client
) condition &key extras transaction) ¶Send CONDITION to Sentry.
The condition severity level (warning, error, etc)
sentry-client
)) ¶automatically generated reader method
sentry-client
)) ¶automatically generated writer method
sentry-client
)) ¶automatically generated reader method
dsn
.
sentry-client
)) ¶automatically generated writer method
dsn
.
sentry-client
)) ¶automatically generated reader method
sentry-client
)) ¶automatically generated writer method
Jump to: | (
C D E F G I M P R S T W |
---|
Jump to: | (
C D E F G I M P R S T W |
---|
Jump to: | *
+
C D S T |
---|
Jump to: | *
+
C D S T |
---|
Jump to: | C F P S |
---|
Jump to: | C F P S |
---|