構文
+ (void)noticeNetworkRequestForURL:(NSURL*)url httpMethod:(NSString*)httpMethod withTimer:(NRTimer*)timer responseHeaders:(NSDictionary*)headers statusCode:(NSInteger)httpStatusCode bytesSent:(NSUInteger)bytesSent bytesReceived:(NSUInteger)bytesReceived responseData:(NSData *)responseData traceHeaders:(NSDictionary<NSString*,NSString*>* _Nullable)traceHeaders andParams:(NSDictionary * _Nullable)params;
完了するトランザクション HTTP ネットワーク要求を手動で記録します。
要件
すべてのAgentバージョンに対応しています。
説明
New Relic は、URL、応答時間、ステータス コード、および送受信されたデータを追跡します。
応答ヘッダーのディクショナリにX-NewRelic-AppData
ヘッダーが含まれている場合、New Relic はモバイル アプリとウェブ サーバー間の関連付けを追跡し、New Relic UI はサーバーとネットワークとキュー時間の相関と比較を表示します。
HTTP ステータス コードがエラー (400 以上) を示している場合、New Relic はこのリクエストもエラーとして追跡します。リクエスト ヘッダーの辞書とレスポンス ボディのデータは、New Relic UI でサーバー エラーとしてエンコードされます。
パラメーター
パラメータ | 説明 |
---|---|
URL | 必須です。リクエストのURLです。 |
ストリング | 必須。リクエストの HTTP メソッド。 |
NRタイマー | 必須。リクエストの開始と終了をキャプチャするタイマー。 |
ダブル | オプション。リクエストの開始時刻をキャプチャする double。( |
ダブル | オプション。リクエストの終了時刻をキャプチャする double。( |
NSDictionary | 必須。サーバー応答で返されるヘッダーのディクショナリ。 |
NSU整数 | 必須。HTTP 応答のステータス コード。 |
NSU整数 | 必須。リクエスト本文で送信されたバイト数。 |
NSU整数 | 必須。応答本文で受信したバイト数。 |
NSData | 必須。サーバーから返された応答本文データ。トレースされたサーバー エラーを記録するときに使用されます。 |
NSDictionary | null 可能。分散トレースに使用されます。 |
NSDictionary | null 可能。未使用。 |
例
Objective-C
例:
[NewRelic noticeNetworkRequestForURL:[NSURL URLWithString:@"https://www.newrelic.com"] httpMethod:@"GET" withTimer:[[NRTimer alloc] init] responseHeaders:@{} statusCode:200 bytesSent:1024 bytesReceived:52 responseData:[NSData data] traceHeaders:nil andParams:nil];
開始時間と終了時間で
[NewRelic noticeNetworkRequestForURL:[NSURL URLWithString:@"https://www.newrelic.com"] httpMethod:@"GET" startTime:0.0 endTime:0.1 responseHeaders:@{} statusCode:200 bytesSent:1024 bytesReceived:52 responseData:[NSData data] traceHeaders:nil andParams:nil];
迅速
例:
NewRelic.noticeNetworkRequest(for: URL(string: "https://www.newrelic.com"), httpMethod: "GET", with: NRTimer(), responseHeaders: [:], statusCode: 200, bytesSent: 1000, bytesReceived: 1000, responseData: Data(), traceHeaders: nil, andParams: nil)
開始時間と終了時間で
NewRelic.noticeNetworkRequest(for: URL(string: "https://www.newrelic.com"), httpMethod: "GET", startTime: 0.0, endTime: 0.1, responseHeaders: [:], statusCode: 200, bytesSent: 1000, bytesReceived: 1000, responseData: Data(), traceHeaders: nil, andParams: nil)