Skip to content

Chimerapps/niddler_dart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Niddler network inspector for dart and flutter. Download the niddler intellij plugin here

latestVersion

Usage

A simple usage example:

For a more complete example, see example/main.dart.

import 'package:niddler_dart/niddler_dart.dart';
import 'package:stack_trace/stack_trace.dart';

main() async {
  await Chain.capture(() async { //For better flutter stack traces, wrap main code in this Chain.capture from package stack_trace
    final niddlerBuilder = NiddlerBuilder()
        ..bundleId = 'com.test.test'
        ..serverInfo = NiddlerServerInfo('Some descriptive name', 'Some description', 'dart')
        ..includeStackTrace = true //Capture request stack traces. Wrap all content inside main with `Chain.capture`
        ..port = 0; //0 to have niddler pick it's own port. Automatic discovery will make this visible
  
      final niddler = niddlerBuilder.build();
      await niddler.start();
      //Or if you want to use the debugger and wait for a connection
      await niddler.start(waitForDebugger: true);
      niddler.install();
  
      //Optionally wait for debugger to connect at a later time. The niddler.start(waitForDebugger: ...) is preferred
      await niddler.debugger.waitForConnection();
    
      //Make http requests ...
    
      await niddler.stop();
  });
}

Debugging support

Since 0.7.0 basic debugging support has been added to the library. Use the plugin to connect with a debugger connection. When so required, you can wait for the debugger to be connected before continuing with the application, to ensure the debugger is attached before any requests are made by using (preferred) await niddler.start(waitForDebugger: true); or later await niddler.debugger.waitForConnection();

Not that using the debugger has a more noticeable performance impact

Request site stack traces

Since 0.6.0, niddler supports capturing stack traces at request site across async boundaries. This can have a (very) small performance impact.

To enable, configure niddler to include stack traces by setting includeStackTrace = true in the builder, optionally configuring which stack frames to throw out via sanitizer = implementation of StackTraceSanitizer (defaults to a reasonable sanitizer for dart/flutter/dio).

To capture stack traces across async blocks, wrap ALL code inside your main with Chain.capture from package:stack_trace

Viewing stack traces for dart code is supported in the intellij plugin since version 2.5.0

Features and bugs

Please file feature requests and bugs at the issue tracker.

About

Niddler network inspector for dart and flutter!

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages