| // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // NOTE: No header guards are used, since this file is intended to be expanded |
| // directly into net_log.h. DO NOT include this file anywhere else. |
| |
| // -------------------------------------------------------------------------- |
| // General pseudo-events |
| // -------------------------------------------------------------------------- |
| |
| // Something got cancelled (we determine what is cancelled based on the |
| // log context around it.) |
| EVENT_TYPE(CANCELLED) |
| |
| // Marks the creation/destruction of a request (net::URLRequest or |
| // SocketStream). |
| EVENT_TYPE(REQUEST_ALIVE) |
| |
| // ------------------------------------------------------------------------ |
| // HostResolverImpl |
| // ------------------------------------------------------------------------ |
| |
| // The start/end of waiting on a host resolve (DNS) request. |
| // The BEGIN phase contains the following parameters: |
| // |
| // { |
| // "source_dependency": <Source id of the request being waited on>, |
| // } |
| EVENT_TYPE(HOST_RESOLVER_IMPL) |
| |
| // The start/end of a host resolve (DNS) request. Note that these events are |
| // logged for all DNS requests, though not all requests result in the creation |
| // of a HostResolvedImpl::Request object. |
| // |
| // The BEGIN phase contains the following parameters: |
| // |
| // { |
| // "host": <Hostname associated with the request>, |
| // "source_dependency": <Source id, if any, of what created the request>, |
| // } |
| // |
| // If an error occurred, the END phase will contain these parameters: |
| // { |
| // "net_error": <The net error code integer for the failure>, |
| // "os_error": <The exact error code integer that getaddrinfo() returned>, |
| // } |
| |
| EVENT_TYPE(HOST_RESOLVER_IMPL_REQUEST) |
| |
| // This event is logged when a request is handled by a cache entry. |
| EVENT_TYPE(HOST_RESOLVER_IMPL_CACHE_HIT) |
| |
| // This event means a request was queued/dequeued for subsequent job creation, |
| // because there are already too many active HostResolverImpl::Jobs. |
| // |
| // The BEGIN phase contains the following parameters: |
| // |
| // { |
| // "priority": <Priority of the queued request>, |
| // } |
| EVENT_TYPE(HOST_RESOLVER_IMPL_JOB_POOL_QUEUE) |
| |
| // This event is created when a new HostResolverImpl::Request is evicted from |
| // JobPool without a Job being created, because the limit on number of queued |
| // Requests was reached. |
| EVENT_TYPE(HOST_RESOLVER_IMPL_JOB_POOL_QUEUE_EVICTED) |
| |
| // This event is created when a new HostResolverImpl::Job is about to be created |
| // for a request. |
| EVENT_TYPE(HOST_RESOLVER_IMPL_CREATE_JOB) |
| |
| // This is logged for a request when it's attached to a |
| // HostResolverImpl::Job. When this occurs without a preceding |
| // HOST_RESOLVER_IMPL_CREATE_JOB entry, it means the request was attached to an |
| // existing HostResolverImpl::Job. |
| // |
| // If the BoundNetLog used to create the event has a valid source id, the BEGIN |
| // phase contains the following parameters: |
| // |
| // { |
| // "source_dependency": <Source identifier for the attached Job>, |
| // } |
| EVENT_TYPE(HOST_RESOLVER_IMPL_JOB_ATTACH) |
| |
| // The creation/completion of a host resolve (DNS) job. |
| // The BEGIN phase contains the following parameters: |
| // |
| // { |
| // "host": <Hostname associated with the request>, |
| // "source_dependency": <Source id, if any, of what created the request>, |
| // } |
| // |
| // On success, the END phase has these parameters: |
| // { |
| // "address_list": <The host name being resolved>, |
| // } |
| // If an error occurred, the END phase will contain these parameters: |
| // { |
| // "net_error": <The net error code integer for the failure>, |
| // "os_error": <The exact error code integer that getaddrinfo() returned>, |
| // } |
| EVENT_TYPE(HOST_RESOLVER_IMPL_JOB) |
| |
| // ------------------------------------------------------------------------ |
| // InitProxyResolver |
| // ------------------------------------------------------------------------ |
| |
| // The start/end of auto-detect + custom PAC URL configuration. |
| EVENT_TYPE(INIT_PROXY_RESOLVER) |
| |
| // The start/end of when proxy autoconfig was artificially paused following |
| // a network change event. (We wait some amount of time after being told of |
| // network changes to avoid hitting spurious errors during auto-detect). |
| EVENT_TYPE(INIT_PROXY_RESOLVER_WAIT) |
| |
| // The start/end of download of a PAC script. This could be the well-known |
| // WPAD URL (if testing auto-detect), or a custom PAC URL. |
| // |
| // The START event has the parameters: |
| // { |
| // "url": <URL string of script being fetched>, |
| // } |
| // |
| // If the fetch failed, then the END phase has these parameters: |
| // { |
| // "error_code": <Net error code integer>, |
| // } |
| EVENT_TYPE(INIT_PROXY_RESOLVER_FETCH_PAC_SCRIPT) |
| |
| // The start/end of the testing of a PAC script (trying to parse the fetched |
| // file as javascript). |
| // |
| // If the parsing of the script failed, the END phase will have parameters: |
| // { |
| // "error_code": <Net error code integer>, |
| // } |
| EVENT_TYPE(INIT_PROXY_RESOLVER_SET_PAC_SCRIPT) |
| |
| // This event means that initialization failed because there was no |
| // configured script fetcher. (This indicates a configuration error). |
| EVENT_TYPE(INIT_PROXY_RESOLVER_HAS_NO_FETCHER) |
| |
| // This event is emitted after deciding to fall-back to the next PAC |
| // script in the list. |
| EVENT_TYPE(INIT_PROXY_RESOLVER_FALLING_BACK_TO_NEXT_PAC_URL) |
| |
| // ------------------------------------------------------------------------ |
| // ProxyService |
| // ------------------------------------------------------------------------ |
| |
| // The start/end of a proxy resolve request. |
| EVENT_TYPE(PROXY_SERVICE) |
| |
| // The time while a request is waiting on InitProxyResolver to configure |
| // against either WPAD or custom PAC URL. The specifics on this time |
| // are found from ProxyService::init_proxy_resolver_log(). |
| EVENT_TYPE(PROXY_SERVICE_WAITING_FOR_INIT_PAC) |
| |
| // This event is emitted to show what the PAC script returned. It can contain |
| // extra parameters that are either: |
| // { |
| // "pac_string": <List of valid proxy servers, in PAC format>, |
| // } |
| // |
| // Or if the the resolver failed: |
| // { |
| // "net_error": <Net error code that resolver failed with>, |
| // } |
| EVENT_TYPE(PROXY_SERVICE_RESOLVED_PROXY_LIST) |
| |
| // This event is emitted whenever the proxy settings used by ProxyService |
| // change. |
| // |
| // It contains these parameters: |
| // { |
| // "old_config": <Dump of the previous proxy settings>, |
| // "new_config": <Dump of the new proxy settings>, |
| // } |
| // |
| // Note that the "old_config" key will be omitted on the first fetch of the |
| // proxy settings (since there wasn't a previous value). |
| EVENT_TYPE(PROXY_CONFIG_CHANGED) |
| |
| // ------------------------------------------------------------------------ |
| // Proxy Resolver |
| // ------------------------------------------------------------------------ |
| |
| // Measures the time taken to execute the "myIpAddress()" javascript binding. |
| EVENT_TYPE(PAC_JAVASCRIPT_MY_IP_ADDRESS) |
| |
| // Measures the time taken to execute the "myIpAddressEx()" javascript binding. |
| EVENT_TYPE(PAC_JAVASCRIPT_MY_IP_ADDRESS_EX) |
| |
| // Measures the time taken to execute the "dnsResolve()" javascript binding. |
| EVENT_TYPE(PAC_JAVASCRIPT_DNS_RESOLVE) |
| |
| // Measures the time taken to execute the "dnsResolveEx()" javascript binding. |
| EVENT_TYPE(PAC_JAVASCRIPT_DNS_RESOLVE_EX) |
| |
| // This event is emitted when a javascript error has been triggered by a |
| // PAC script. It contains the following event parameters: |
| // { |
| // "line_number": <The line number in the PAC script |
| // (or -1 if not applicable)>, |
| // "message": <The error message>, |
| // } |
| EVENT_TYPE(PAC_JAVASCRIPT_ERROR) |
| |
| // This event is emitted when a PAC script called alert(). It contains the |
| // following event parameters: |
| // { |
| // "message": <The string of the alert>, |
| // } |
| EVENT_TYPE(PAC_JAVASCRIPT_ALERT) |
| |
| // Measures the time that a proxy resolve request was stalled waiting for a |
| // proxy resolver thread to free-up. |
| EVENT_TYPE(WAITING_FOR_PROXY_RESOLVER_THREAD) |
| |
| // This event is emitted just before a PAC request is bound to a thread. It |
| // contains these parameters: |
| // |
| // { |
| // "thread_number": <Identifier for the PAC thread that is going to |
| // run this request>, |
| // } |
| EVENT_TYPE(SUBMITTED_TO_RESOLVER_THREAD) |
| |
| // ------------------------------------------------------------------------ |
| // ClientSocket |
| // ------------------------------------------------------------------------ |
| |
| // The start/end of a TCP connect(). This corresponds with a call to |
| // TCPClientSocket::Connect(). |
| // |
| // The START event contains these parameters: |
| // |
| // { |
| // "address_list": <List of network address strings>, |
| // } |
| // |
| // And the END event will contain the following parameters on failure: |
| // |
| // { |
| // "net_error": <Net integer error code>, |
| // } |
| EVENT_TYPE(TCP_CONNECT) |
| |
| // Nested within TCP_CONNECT, there may be multiple attempts to connect |
| // to the individual addresses. The START event will describe the |
| // address the attempt is for: |
| // |
| // { |
| // "address": <String of the network address>, |
| // } |
| // |
| // And the END event will contain the system error code if it failed: |
| // |
| // { |
| // "os_error": <Integer error code the operating system returned>, |
| // } |
| EVENT_TYPE(TCP_CONNECT_ATTEMPT) |
| |
| // The start/end of a TCP connect(). This corresponds with a call to |
| // TCPServerSocket::Accept(). |
| // |
| // The END event will contain the following parameters on success: |
| // { |
| // "address": <Remote address of the accepted connection>, |
| // } |
| // On failure it contains the following parameters |
| // { |
| // "net_error": <Net integer error code>, |
| // } |
| EVENT_TYPE(TCP_ACCEPT) |
| |
| // Marks the begin/end of a socket (TCP/SOCKS/SSL). |
| EVENT_TYPE(SOCKET_ALIVE) |
| |
| // This event is logged to the socket stream whenever the socket is |
| // acquired/released via a ClientSocketHandle. |
| // |
| // The BEGIN phase contains the following parameters: |
| // |
| // { |
| // "source_dependency": <Source identifier for the controlling entity>, |
| // } |
| EVENT_TYPE(SOCKET_IN_USE) |
| |
| // The start/end of a SOCKS connect(). |
| EVENT_TYPE(SOCKS_CONNECT) |
| |
| // The start/end of a SOCKS5 connect(). |
| EVENT_TYPE(SOCKS5_CONNECT) |
| |
| // This event is emitted when the SOCKS connect fails because the provided |
| // was longer than 255 characters. |
| EVENT_TYPE(SOCKS_HOSTNAME_TOO_BIG) |
| |
| // These events are emitted when insufficient data was read while |
| // trying to establish a connection to the SOCKS proxy server |
| // (during the greeting phase or handshake phase, respectively). |
| EVENT_TYPE(SOCKS_UNEXPECTEDLY_CLOSED_DURING_GREETING) |
| EVENT_TYPE(SOCKS_UNEXPECTEDLY_CLOSED_DURING_HANDSHAKE) |
| |
| // This event indicates that a bad version number was received in the |
| // proxy server's response. The extra parameters show its value: |
| // { |
| // "version": <Integer version number in the response>, |
| // } |
| EVENT_TYPE(SOCKS_UNEXPECTED_VERSION) |
| |
| // This event indicates that the SOCKS proxy server returned an error while |
| // trying to create a connection. The following parameters will be attached |
| // to the event: |
| // { |
| // "error_code": <Integer error code returned by the server>, |
| // } |
| EVENT_TYPE(SOCKS_SERVER_ERROR) |
| |
| // This event indicates that the SOCKS proxy server asked for an authentication |
| // method that we don't support. The following parameters are attached to the |
| // event: |
| // { |
| // "method": <Integer method code>, |
| // } |
| EVENT_TYPE(SOCKS_UNEXPECTED_AUTH) |
| |
| // This event indicates that the SOCKS proxy server's response indicated an |
| // address type which we are not prepared to handle. |
| // The following parameters are attached to the event: |
| // { |
| // "address_type": <Integer code for the address type>, |
| // } |
| EVENT_TYPE(SOCKS_UNKNOWN_ADDRESS_TYPE) |
| |
| // The start/end of a SSL connect(). |
| EVENT_TYPE(SSL_CONNECT) |
| |
| // The start/end of a SSL accept(). |
| EVENT_TYPE(SSL_ACCEPT) |
| |
| // An SSL error occurred while trying to do the indicated activity. |
| // The following parameters are attached to the event: |
| // { |
| // "net_error": <Integer code for the specific error type>, |
| // "ssl_lib_error": <SSL library's integer code for the specific error type> |
| // } |
| EVENT_TYPE(SSL_HANDSHAKE_ERROR) |
| EVENT_TYPE(SSL_READ_ERROR) |
| EVENT_TYPE(SSL_WRITE_ERROR) |
| |
| // An SSL Snap Start was attempted |
| // The following parameters are attached to the event: |
| // { |
| // "type": <Integer code for the Snap Start result>, |
| // } |
| EVENT_TYPE(SSL_SNAP_START) |
| |
| // We found that our prediction of the server's certificates was correct and |
| // we merged the verification with the SSLHostInfo. |
| EVENT_TYPE(SSL_VERIFICATION_MERGED) |
| |
| // An SSL error occurred while calling an NSS function not directly related to |
| // one of the above activities. Can also be used when more information than |
| // is provided by just an error code is needed: |
| // { |
| // "function": <Name of the NSS function, as a string>, |
| // "param": <Most relevant parameter, if any>, |
| // "ssl_lib_error": <NSS library's integer code for the specific error type> |
| // } |
| EVENT_TYPE(SSL_NSS_ERROR) |
| |
| // The specified number of bytes were sent on the socket. |
| // The following parameters are attached: |
| // { |
| // "byte_count": <Number of bytes that were just sent>, |
| // "hex_encoded_bytes": <The exact bytes sent, as a hexadecimal string. |
| // Only present when byte logging is enabled>, |
| // } |
| EVENT_TYPE(SOCKET_BYTES_SENT) |
| |
| // The specified number of bytes were received on the socket. |
| // The following parameters are attached: |
| // { |
| // "byte_count": <Number of bytes that were just received>, |
| // "hex_encoded_bytes": <The exact bytes received, as a hexadecimal string. |
| // Only present when byte logging is enabled>, |
| // } |
| EVENT_TYPE(SOCKET_BYTES_RECEIVED) |
| |
| // ------------------------------------------------------------------------ |
| // ClientSocketPoolBase::ConnectJob |
| // ------------------------------------------------------------------------ |
| |
| // The start/end of a ConnectJob. |
| EVENT_TYPE(SOCKET_POOL_CONNECT_JOB) |
| |
| // The start/end of the ConnectJob::Connect(). |
| // |
| // The BEGIN phase has these parameters: |
| // |
| // { |
| // "group_name": <The group name for the socket request.>, |
| // } |
| EVENT_TYPE(SOCKET_POOL_CONNECT_JOB_CONNECT) |
| |
| // This event is logged whenever the ConnectJob gets a new socket |
| // association. The event parameters point to that socket: |
| // |
| // { |
| // "source_dependency": <The source identifier for the new socket.>, |
| // } |
| EVENT_TYPE(CONNECT_JOB_SET_SOCKET) |
| |
| // Whether the connect job timed out. |
| EVENT_TYPE(SOCKET_POOL_CONNECT_JOB_TIMED_OUT) |
| |
| // ------------------------------------------------------------------------ |
| // ClientSocketPoolBaseHelper |
| // ------------------------------------------------------------------------ |
| |
| // The start/end of a client socket pool request for a socket. |
| EVENT_TYPE(SOCKET_POOL) |
| |
| // The request stalled because there are too many sockets in the pool. |
| EVENT_TYPE(SOCKET_POOL_STALLED_MAX_SOCKETS) |
| |
| // The request stalled because there are too many sockets in the group. |
| EVENT_TYPE(SOCKET_POOL_STALLED_MAX_SOCKETS_PER_GROUP) |
| |
| // Indicates that we reused an existing socket. Attached to the event are |
| // the parameters: |
| // { |
| // "idle_ms": <The number of milliseconds the socket was sitting idle for>, |
| // } |
| EVENT_TYPE(SOCKET_POOL_REUSED_AN_EXISTING_SOCKET) |
| |
| // This event simply describes the host:port that were requested from the |
| // socket pool. Its parameters are: |
| // { |
| // "host_and_port": <String encoding the host and port>, |
| // } |
| EVENT_TYPE(TCP_CLIENT_SOCKET_POOL_REQUESTED_SOCKET) |
| |
| // This event simply describes the host:port that were requested from the |
| // socket pool. Its parameters are: |
| // { |
| // "host_and_port": <String encoding the host and port>, |
| // } |
| EVENT_TYPE(TCP_CLIENT_SOCKET_POOL_REQUESTED_SOCKETS) |
| |
| |
| // A backup socket is created due to slow connect |
| EVENT_TYPE(SOCKET_BACKUP_CREATED) |
| |
| // This event is sent when a connect job is eventually bound to a request |
| // (because of late binding and socket backup jobs, we don't assign the job to |
| // a request until it has completed). |
| // |
| // The event parameters are: |
| // { |
| // "source_dependency": <Source identifer for the connect job we are |
| // bound to>, |
| // } |
| EVENT_TYPE(SOCKET_POOL_BOUND_TO_CONNECT_JOB) |
| |
| // Identifies the NetLog::Source() for the Socket assigned to the pending |
| // request. The event parameters are: |
| // { |
| // "source_dependency": <Source identifier for the socket we acquired>, |
| // } |
| EVENT_TYPE(SOCKET_POOL_BOUND_TO_SOCKET) |
| |
| // The start/end of a client socket pool request for multiple sockets. |
| // The event parameters are: |
| // { |
| // "num_sockets": <Number of sockets we're trying to ensure are connected>, |
| // } |
| EVENT_TYPE(SOCKET_POOL_CONNECTING_N_SOCKETS) |
| |
| // ------------------------------------------------------------------------ |
| // URLRequest |
| // ------------------------------------------------------------------------ |
| |
| // Measures the time it took a net::URLRequestJob to start. For the most part |
| // this corresponds with the time between net::URLRequest::Start() and |
| // net::URLRequest::ResponseStarted(), however it is also repeated for every |
| // redirect, and every intercepted job that handles the request. |
| // |
| // For the BEGIN phase, the following parameters are attached: |
| // { |
| // "url": <String of URL being loaded>, |
| // "method": <The method ("POST" or "GET" or "HEAD" etc..)>, |
| // "load_flags": <Numeric value of the combined load flags>, |
| // } |
| // |
| // For the END phase, if there was an error, the following parameters are |
| // attached: |
| // { |
| // "net_error": <Net error code of the failure>, |
| // } |
| EVENT_TYPE(URL_REQUEST_START_JOB) |
| |
| // This event is sent once a net::URLRequest receives a redirect. The parameters |
| // attached to the event are: |
| // { |
| // "location": <The URL that was redirected to>, |
| // } |
| EVENT_TYPE(URL_REQUEST_REDIRECTED) |
| |
| // Measures the time a net::URLRequest is blocked waiting for an extension to |
| // respond to the onBefoteRequest extension event. |
| EVENT_TYPE(URL_REQUEST_BLOCKED_ON_EXTENSION) |
| |
| // ------------------------------------------------------------------------ |
| // HttpCache |
| // ------------------------------------------------------------------------ |
| |
| // Measures the time while getting a reference to the back end. |
| EVENT_TYPE(HTTP_CACHE_GET_BACKEND) |
| |
| // Measures the time while opening a disk cache entry. |
| EVENT_TYPE(HTTP_CACHE_OPEN_ENTRY) |
| |
| // Measures the time while creating a disk cache entry. |
| EVENT_TYPE(HTTP_CACHE_CREATE_ENTRY) |
| |
| // Measures the time it takes to add a HttpCache::Transaction to an http cache |
| // entry's list of active Transactions. |
| EVENT_TYPE(HTTP_CACHE_ADD_TO_ENTRY) |
| |
| // Measures the time while deleting a disk cache entry. |
| EVENT_TYPE(HTTP_CACHE_DOOM_ENTRY) |
| |
| // Measures the time while reading/writing a disk cache entry's response headers |
| // or metadata. |
| EVENT_TYPE(HTTP_CACHE_READ_INFO) |
| EVENT_TYPE(HTTP_CACHE_WRITE_INFO) |
| |
| // Measures the time while reading/writing a disk cache entry's body. |
| EVENT_TYPE(HTTP_CACHE_READ_DATA) |
| EVENT_TYPE(HTTP_CACHE_WRITE_DATA) |
| |
| // ------------------------------------------------------------------------ |
| // Disk Cache / Memory Cache |
| // ------------------------------------------------------------------------ |
| |
| // The creation/destruction of a disk_cache::EntryImpl object. The "creation" |
| // is considered to be the point at which an Entry is first considered to be |
| // good and associated with a key. Note that disk and memory cache entries |
| // share event types. |
| // |
| // For the BEGIN phase, the following parameters are attached: |
| // { |
| // "created": <true if the Entry was created, rather than being opened>, |
| // "key": <The Entry's key>, |
| // } |
| EVENT_TYPE(DISK_CACHE_ENTRY_IMPL) |
| EVENT_TYPE(DISK_CACHE_MEM_ENTRY_IMPL) |
| |
| // Logs the time required to read/write data from/to a cache entry. |
| // |
| // For the BEGIN phase, the following parameters are attached: |
| // { |
| // "index": <Index being read/written>, |
| // "offset": <Offset being read/written>, |
| // "buf_len": <Length of buffer being read to/written from>, |
| // "truncate": <If present for a write, the truncate flag is set to true. |
| // Not present in reads or writes where it is false>, |
| // } |
| // |
| // For the END phase, the following parameters are attached: |
| // { |
| // "bytes_copied": <Number of bytes copied. Not present on error>, |
| // "net_error": <Network error code. Only present on error>, |
| // } |
| EVENT_TYPE(ENTRY_READ_DATA) |
| EVENT_TYPE(ENTRY_WRITE_DATA) |
| |
| // Logged when sparse read/write operation starts/stops for an Entry. |
| // |
| // For the BEGIN phase, the following parameters are attached: |
| // { |
| // "offset": <Offset at which to start reading>, |
| // "buff_len": <Bytes to read/write>, |
| // } |
| EVENT_TYPE(SPARSE_READ) |
| EVENT_TYPE(SPARSE_WRITE) |
| |
| // Logged when a parent Entry starts/stops reading/writing a child Entry's data. |
| // |
| // For the BEGIN phase, the following parameters are attached: |
| // { |
| // "source_dependency": <Source id of the child entry>, |
| // "child_len": <Bytes to read/write from/to child>, |
| // } |
| EVENT_TYPE(SPARSE_READ_CHILD_DATA) |
| EVENT_TYPE(SPARSE_WRITE_CHILD_DATA) |
| |
| // Logged when sparse GetAvailableRange operation starts/stops for an Entry. |
| // |
| // For the BEGIN phase, the following parameters are attached: |
| // { |
| // "buff_len": <Bytes to read/write>, |
| // "offset": <Offset at which to start reading>, |
| // } |
| // |
| // For the END phase, the following parameters are attached. No parameters are |
| // attached when cancelled: |
| // { |
| // "length": <Length of returned range. Only present on success>, |
| // "start": <Position where returned range starts. Only present on success>, |
| // "net_error": <Resulting error code. Only present on failure. This may be |
| // "OK" when there's no error, but no available bytes in the |
| // range>, |
| // } |
| EVENT_TYPE(SPARSE_GET_RANGE) |
| |
| // Indicates the children of a sparse EntryImpl are about to be deleted. |
| // Not logged for MemEntryImpls. |
| EVENT_TYPE(SPARSE_DELETE_CHILDREN) |
| |
| // Logged when an EntryImpl is closed. Not logged for MemEntryImpls. |
| EVENT_TYPE(ENTRY_CLOSE) |
| |
| // Logged when an entry is doomed. |
| EVENT_TYPE(ENTRY_DOOM) |
| |
| // ------------------------------------------------------------------------ |
| // HttpStreamFactoryImpl |
| // ------------------------------------------------------------------------ |
| |
| // Measures the time taken to fulfill the HttpStreamRequest. |
| EVENT_TYPE(HTTP_STREAM_REQUEST) |
| |
| // Measures the time taken to execute the HttpStreamFactoryImpl::Job |
| EVENT_TYPE(HTTP_STREAM_JOB) |
| |
| // Identifies the NetLog::Source() for the Job that fulfilled the request. |
| // request. The event parameters are: |
| // { |
| // "source_dependency": <Source identifier for the job we acquired>, |
| // } |
| EVENT_TYPE(HTTP_STREAM_REQUEST_BOUND_TO_JOB) |
| |
| // ------------------------------------------------------------------------ |
| // HttpNetworkTransaction |
| // ------------------------------------------------------------------------ |
| |
| // Measures the time taken to send the tunnel request to the server. |
| EVENT_TYPE(HTTP_TRANSACTION_TUNNEL_SEND_REQUEST) |
| |
| // This event is sent for a tunnel request. |
| // The following parameters are attached: |
| // { |
| // "line": <The HTTP request line, CRLF terminated>, |
| // "headers": <The list of header:value pairs>, |
| // } |
| EVENT_TYPE(HTTP_TRANSACTION_SEND_TUNNEL_HEADERS) |
| |
| // Measures the time to read the tunnel response headers from the server. |
| EVENT_TYPE(HTTP_TRANSACTION_TUNNEL_READ_HEADERS) |
| |
| // This event is sent on receipt of the HTTP response headers to a tunnel |
| // request. |
| // The following parameters are attached: |
| // { |
| // "headers": <The list of header:value pairs>, |
| // } |
| EVENT_TYPE(HTTP_TRANSACTION_READ_TUNNEL_RESPONSE_HEADERS) |
| |
| // Measures the time taken to send the request to the server. |
| EVENT_TYPE(HTTP_TRANSACTION_SEND_REQUEST) |
| |
| // This event is sent for a HTTP request. |
| // The following parameters are attached: |
| // { |
| // "line": <The HTTP request line, CRLF terminated>, |
| // "headers": <The list of header:value pairs>, |
| // } |
| EVENT_TYPE(HTTP_TRANSACTION_SEND_REQUEST_HEADERS) |
| |
| // Measures the time to read HTTP response headers from the server. |
| EVENT_TYPE(HTTP_TRANSACTION_READ_HEADERS) |
| |
| // This event is sent on receipt of the HTTP response headers. |
| // The following parameters are attached: |
| // { |
| // "headers": <The list of header:value pairs>, |
| // } |
| EVENT_TYPE(HTTP_TRANSACTION_READ_RESPONSE_HEADERS) |
| |
| // Measures the time to read the entity body from the server. |
| EVENT_TYPE(HTTP_TRANSACTION_READ_BODY) |
| |
| // Measures the time taken to read the response out of the socket before |
| // restarting for authentication, on keep alive connections. |
| EVENT_TYPE(HTTP_TRANSACTION_DRAIN_BODY_FOR_AUTH_RESTART) |
| |
| // ------------------------------------------------------------------------ |
| // SpdySession |
| // ------------------------------------------------------------------------ |
| |
| // The start/end of a SpdySession. |
| // { |
| // "host": <The host-port string>, |
| // "proxy": <The Proxy PAC string>, |
| // } |
| EVENT_TYPE(SPDY_SESSION) |
| |
| // This event is sent for a SPDY SYN_STREAM. |
| // The following parameters are attached: |
| // { |
| // "flags": <The control frame flags>, |
| // "headers": <The list of header:value pairs>, |
| // "id": <The stream id>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_SYN_STREAM) |
| |
| // This event is sent for a SPDY SYN_STREAM pushed by the server, where a |
| // net::URLRequest is already waiting for the stream. |
| // The following parameters are attached: |
| // { |
| // "flags": <The control frame flags>, |
| // "headers": <The list of header:value pairs>, |
| // "id": <The stream id>, |
| // "associated_stream": <The stream id>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_PUSHED_SYN_STREAM) |
| |
| // This event is sent for a SPDY HEADERS frame. |
| // The following parameters are attached: |
| // { |
| // "flags": <The control frame flags>, |
| // "headers": <The list of header:value pairs>, |
| // "id": <The stream id>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_HEADERS) |
| |
| // This event is sent for a SPDY SYN_REPLY. |
| // The following parameters are attached: |
| // { |
| // "flags": <The control frame flags>, |
| // "headers": <The list of header:value pairs>, |
| // "id": <The stream id>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_SYN_REPLY) |
| |
| // On sending a SPDY SETTINGS frame. |
| // The following parameters are attached: |
| // { |
| // "settings": <The list of setting id:value pairs>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_SEND_SETTINGS) |
| |
| // Receipt of a SPDY SETTINGS frame. |
| // The following parameters are attached: |
| // { |
| // "settings": <The list of setting id:value pairs>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_RECV_SETTINGS) |
| |
| // The receipt of a RST_STREAM |
| // The following parameters are attached: |
| // { |
| // "stream_id": <The stream ID for the window update>, |
| // "status": <The reason for the RST_STREAM>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_RST_STREAM) |
| |
| // Sending of a RST_STREAM |
| // The following parameters are attached: |
| // { |
| // "stream_id": <The stream ID for the window update>, |
| // "status": <The reason for the RST_STREAM>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_SEND_RST_STREAM) |
| |
| // Sending of a SPDY PING frame. |
| // The following parameters are attached: |
| // { |
| // "unique_id": <The unique id of the PING message>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_PING) |
| |
| // Receipt of a SPDY GOAWAY frame. |
| // The following parameters are attached: |
| // { |
| // "last_accepted_stream_id": <Last stream id accepted by the server, duh>, |
| // "active_streams": <Number of active streams>, |
| // "unclaimed_streams": <Number of unclaimed push streams>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_GOAWAY) |
| |
| // Receipt of a SPDY WINDOW_UPDATE frame (which controls the send window). |
| // { |
| // "stream_id": <The stream ID for the window update>, |
| // "delta" : <The delta window size>, |
| // "new_size" : <The new window size (computed)>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_SEND_WINDOW_UPDATE) |
| |
| // Sending of a SPDY WINDOW_UPDATE frame (which controls the receive window). |
| // { |
| // "stream_id": <The stream ID for the window update>, |
| // "delta" : <The delta window size>, |
| // "new_size" : <The new window size (computed)>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_RECV_WINDOW_UPDATE) |
| |
| // Sending a data frame |
| // { |
| // "stream_id": <The stream ID for the window update>, |
| // "length" : <The size of data sent>, |
| // "flags" : <Send data flags>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_SEND_DATA) |
| |
| // Receiving a data frame |
| // { |
| // "stream_id": <The stream ID for the window update>, |
| // "length" : <The size of data sent>, |
| // "flags" : <Send data flags>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_RECV_DATA) |
| |
| // Logs that a stream is stalled on the send window being closed. |
| EVENT_TYPE(SPDY_SESSION_STALLED_ON_SEND_WINDOW) |
| |
| // Session is closing |
| // { |
| // "status": <The error status of the closure>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_CLOSE) |
| |
| // Event when the creation of a stream is stalled because we're at |
| // the maximum number of concurrent streams. |
| EVENT_TYPE(SPDY_SESSION_STALLED_MAX_STREAMS) |
| |
| // ------------------------------------------------------------------------ |
| // SpdySessionPool |
| // ------------------------------------------------------------------------ |
| |
| // This event indicates the pool is reusing an existing session |
| // { |
| // "id": <The session id>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_POOL_FOUND_EXISTING_SESSION) |
| |
| // This event indicates the pool is reusing an existing session from an |
| // IP pooling match. |
| // { |
| // "id": <The session id>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_POOL_FOUND_EXISTING_SESSION_FROM_IP_POOL) |
| |
| // This event indicates the pool created a new session |
| // { |
| // "id": <The session id>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_POOL_CREATED_NEW_SESSION) |
| |
| // This event indicates that a SSL socket has been upgraded to a SPDY session. |
| // { |
| // "id": <The session id>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_POOL_IMPORTED_SESSION_FROM_SOCKET) |
| |
| // This event indicates that the session has been removed. |
| // { |
| // "id": <The session id>, |
| // } |
| EVENT_TYPE(SPDY_SESSION_POOL_REMOVE_SESSION) |
| |
| // ------------------------------------------------------------------------ |
| // SpdyStream |
| // ------------------------------------------------------------------------ |
| |
| // The begin and end of a SPDY STREAM. |
| EVENT_TYPE(SPDY_STREAM) |
| |
| // Logs that a stream attached to a pushed stream. |
| EVENT_TYPE(SPDY_STREAM_ADOPTED_PUSH_STREAM) |
| |
| // This event indicates that the send window has been updated |
| // { |
| // "id": <The stream id>, |
| // "delta": <The window size delta>, |
| // "new_window": <The new window size>, |
| // } |
| EVENT_TYPE(SPDY_STREAM_SEND_WINDOW_UPDATE) |
| |
| // This event indicates that the recv window has been updated |
| // { |
| // "id": <The stream id>, |
| // "delta": <The window size delta>, |
| // "new_window": <The new window size>, |
| // } |
| EVENT_TYPE(SPDY_STREAM_RECV_WINDOW_UPDATE) |
| |
| // ------------------------------------------------------------------------ |
| // HttpStreamParser |
| // ------------------------------------------------------------------------ |
| |
| // Measures the time to read HTTP response headers from the server. |
| EVENT_TYPE(HTTP_STREAM_PARSER_READ_HEADERS) |
| |
| // ------------------------------------------------------------------------ |
| // SocketStream |
| // ------------------------------------------------------------------------ |
| |
| // Measures the time between SocketStream::Connect() and |
| // SocketStream::DidEstablishConnection() |
| // |
| // For the BEGIN phase, the following parameters are attached: |
| // { |
| // "url": <String of URL being loaded>, |
| // } |
| // |
| // For the END phase, if there was an error, the following parameters are |
| // attached: |
| // { |
| // "net_error": <Net error code of the failure>, |
| // } |
| EVENT_TYPE(SOCKET_STREAM_CONNECT) |
| |
| // A message sent on the SocketStream. |
| EVENT_TYPE(SOCKET_STREAM_SENT) |
| |
| // A message received on the SocketStream. |
| EVENT_TYPE(SOCKET_STREAM_RECEIVED) |
| |
| // ------------------------------------------------------------------------ |
| // WebSocketJob |
| // ------------------------------------------------------------------------ |
| |
| // This event is sent for a WebSocket handshake request. |
| // The following parameters are attached: |
| // { |
| // "headers": <handshake request message>, |
| // } |
| EVENT_TYPE(WEB_SOCKET_SEND_REQUEST_HEADERS) |
| |
| // This event is sent on receipt of the WebSocket handshake response headers. |
| // The following parameters are attached: |
| // { |
| // "headers": <handshake response message>, |
| // } |
| EVENT_TYPE(WEB_SOCKET_READ_RESPONSE_HEADERS) |
| |
| // ------------------------------------------------------------------------ |
| // SOCKS5ClientSocket |
| // ------------------------------------------------------------------------ |
| |
| // The time spent sending the "greeting" to the SOCKS server. |
| EVENT_TYPE(SOCKS5_GREET_WRITE) |
| |
| // The time spent waiting for the "greeting" response from the SOCKS server. |
| EVENT_TYPE(SOCKS5_GREET_READ) |
| |
| // The time spent sending the CONNECT request to the SOCKS server. |
| EVENT_TYPE(SOCKS5_HANDSHAKE_WRITE) |
| |
| // The time spent waiting for the response to the CONNECT request. |
| EVENT_TYPE(SOCKS5_HANDSHAKE_READ) |
| |
| // ------------------------------------------------------------------------ |
| // HTTP Authentication |
| // ------------------------------------------------------------------------ |
| |
| // The time spent authenticating to the proxy. |
| EVENT_TYPE(AUTH_PROXY) |
| |
| // The time spent authentication to the server. |
| EVENT_TYPE(AUTH_SERVER) |
| |
| // ------------------------------------------------------------------------ |
| // HTML5 Application Cache |
| // ------------------------------------------------------------------------ |
| |
| // This event is emitted whenever a request is satistifed directly from |
| // the appache. |
| EVENT_TYPE(APPCACHE_DELIVERING_CACHED_RESPONSE) |
| |
| // This event is emitted whenever the appcache uses a fallback response. |
| EVENT_TYPE(APPCACHE_DELIVERING_FALLBACK_RESPONSE) |
| |
| // This event is emitted whenever the appcache generates an error response. |
| EVENT_TYPE(APPCACHE_DELIVERING_ERROR_RESPONSE) |
| |
| // ------------------------------------------------------------------------ |
| // Global events |
| // ------------------------------------------------------------------------ |
| // These are events which are not grouped by source id, as they have no |
| // context. |
| |
| // This event is emitted whenever NetworkChangeNotifier determines that the |
| // underlying network has changed. |
| EVENT_TYPE(NETWORK_IP_ADDRESSES_CHANGED) |