code: public function onEnd(Event $event)
      {
          $obj = $event->getSubject();
          if ($obj instanceof \DOMNodeList) {
              // for reasons unknown, DOMNodeList's properties are invisible to reflection
              $event['properties']['length'] = \array_merge(static::$basePropInfo, array(
                  'type' => 'integer',
                  'value' => $obj->length,
              ));
          } elseif ($obj instanceof \Exception) {
              if (isset($event['properties']['xdebug_message'])) {
                  $event['properties']['xdebug_message']['isExcluded'] = true;
              }
          } elseif ($obj instanceof \mysqli && !$event['collectPropertyValues']) {
              $propsAlwaysAvail = array(
                  'client_info','client_version','connect_errno','connect_error','errno','error','stat'
              );
              $reflectionObject = $event['reflector'];
              foreach ($propsAlwaysAvail as $name) {
                  $reflectionProperty = $reflectionObject->getProperty($name);
                  $event['properties'][$name]['value'] = $reflectionProperty->getValue($obj);
              }
          }
      }
docs: debug.objAbstractEnd event subscriber
  
  @param Event $event event object
  
  @return void