Skip to content

Instantly share code, notes, and snippets.

@rickpeyton
Last active March 29, 2017 18:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rickpeyton/47f52c09bd4d2f9e7be6e3f99bd124ce to your computer and use it in GitHub Desktop.
Save rickpeyton/47f52c09bd4d2f9e7be6e3f99bd124ce to your computer and use it in GitHub Desktop.

Field Dictionary

The core field dictionary provides fields that may be used across all apps. Usually you'll want to include at least this core field dictionary, along with possibly one or more app-specific field dictionaries.

Category Name Type Description Reference Req
Client client String The name of the client that triggered the event
client_version String The version of the client that triggered the event
client_ipv4 String IPv4 address of the event source CEE - ipv4
client_ipv6 String IPv6 address of the event source CEE - ipv6
client_forwarded_for String The forwarded ipv4 address of the client that triggered the event
client_os String The OS name of the client that triggered the event
client_os_version String The OS version of the client that triggered the event
client_browser String The name of the browser of the client that triggered the event
client_browser_version String The version of the browser of the client that triggered the event
client_device String The device name of the client that triggered the event
client_user_agent String The full user agent string of the client that triggered the event
Core field_dictionary_uris StringArray A list of links to the field dictionaries that this event is using. X
action EventName Name of the event. MUST follow our event name taxonomy. CEE - action X
time DateTime When the event occurred. SHOULD be listed in GMT. MUST include the timezone indicator. CEE - time X
event_id String An ID unique to this specific event. MUST follow the standard 8-4-4-4-12 hex UUID format. Used by downstream systems to avoid duplicate processing. X
message String A brief message explaining the event. CEE - msg
reason Enum (BAD_REQUEST, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, METHOD_NOT_ALLOWED, CONFLICT, GONE, PRECONDITION_FAILED, PRECONDITION_REQUIRED, TOO_MANY_REQUESTS, INTERNAL_ERROR, NOT_IMPLEMENTED, BAD_GATEWAY, SERVICE_UNAVAILABLE, GATEWAY_TIMEOUT, UNKNOWN_ERROR) An overall reason why the event occured.
missing_requirement String The specific requirement (such as a field) that was omitted.
app_id AppId The ID of the application that created the event. CEE - app X
priority Enum (CRITICAL, ERROR, WARN, INFO, DEBUG, TRACE) How important the event is. CEE - pri X
transaction String The ID of the transaction that the event occurred within.
thread String The ID of the thread that the event occurred within. CEE - tid
HTTP request_method Enum (GET, PUT, POST, DELETE, PATCH) HTTP method used for the request
request_uri String URI that the request was made to
request_body String Body that was sent with the request
request_parameters String Parameters that were sent with the request
request_headers String Headers that were sent with the request
request_user_agent String User agent string that was sent with the request
response_status Integer The HTTP status code that was returned with the response
response_body String The body that came back with the response
response_headers String The headers that came back with the response
request_duration Duration How long it took to receive a response
Trace exception String The exception (excluding stack trace) responsible for the event
exception_message String The message associated with the exception responsible for the event
stack_trace String The stack trace responsible for the event
line Integer The line responsible for the event
file_path String The full file path (including directory and file name) responsible for the event
file_name String The name of the file (not including directory) responsible for the event
file_directory String The directory of the file (not including file name) responsible for the event
logger String The logger used to log the event
User user_id String CEE - user
user_name String CEE - username
user_email String

Event Names

The event name list assures that our event names remain uniform and easy to find. It also prevents accidental data from leaking into event names.

Event names must follow the format:
noun.verb[.verb...].result
Where result is binary ('sucess' or 'failure'). Additional information on how the result was arrived at must be put within seperate attributes.

Valid Event Names

Category Name
User user.authenticate.success
user.authenticate.failure
user.authorize.success
user.authorize.failure
user.create.success
user.create.failure
user.update.success
user.update.failure
user.delete.success
user.delete.failure
user.lock.success
user.lock.failure

App IDs

App IDs must follow the format:
product_line.app[.module...]

A single executable may contain multiple App IDs if they're differentiated at the module level.

Category Id
Church church.financial-peace-university
church.smart-money-smart-kids
Education Solutions education-solutions.53schools
education-solutions.foundationsu.college
education-solutions.foundationsu.high-school
education-solutions.foundationsu.middle-school
ELP elp.referral-service
Entreleadership entreleadership.direct-access
Nicodemus nicodemus.authx
nicodemus.email-service
nicodemus.lead-service
nicodemus.notification-subscription-service
nicodemus.subscription-service
nicodemus.subscription-billing-service
nicodemus.skybridge
nicodemus.voucher-service
Shared shared.elastic-path
shared.exacttarget
shared.salesforce
shared.zuora
Wellness wellness.smartdollar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment