示例#1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private QueryStatusResult(org.neo4j.kernel.api.query.QuerySnapshot query, org.neo4j.kernel.impl.core.EmbeddedProxySPI manager, java.time.ZoneId zoneId) throws org.neo4j.kernel.api.exceptions.InvalidArgumentsException
        private QueryStatusResult(QuerySnapshot query, EmbeddedProxySPI manager, ZoneId zoneId)
        {
            this.QueryId           = ofInternalId(query.InternalQueryId()).ToString();
            this.Username          = query.Username();
            this.Query             = query.QueryText();
            this.Parameters        = AsRawMap(query.QueryParameters(), new ParameterWriter(manager));
            this.StartTime         = formatTime(query.StartTimestampMillis(), zoneId);
            this.ElapsedTimeMillis = MicrosAsMillis(query.ElapsedTimeMicros()).Value;
            this.ElapsedTime       = formatInterval(ElapsedTimeMillis);
            ClientConnectionInfo clientConnection = query.ClientConnection();

            this.ConnectionDetails   = clientConnection.AsConnectionDetails();
            this.Protocol            = clientConnection.Protocol();
            this.ClientAddress       = clientConnection.ClientAddress();
            this.RequestUri          = clientConnection.RequestURI();
            this.MetaData            = query.TransactionAnnotationData();
            this.CpuTimeMillis       = MicrosAsMillis(query.CpuTimeMicros());
            this.Status              = query.Status();
            this.ResourceInformation = query.ResourceInformation();
            this.ActiveLockCount     = query.ActiveLockCount();
            this.WaitTimeMillis      = MicrosAsMillis(query.WaitTimeMicros()).Value;
            this.IdleTimeMillis      = MicrosAsMillis(query.IdleTimeMicros());
            this.Planner             = query.Planner();
            this.Runtime             = query.Runtime();
            this.Indexes             = query.Indexes();
            this.AllocatedBytes      = query.AllocatedBytes();
            this.PageHits            = query.PageHits();
            this.PageFaults          = query.PageFaults();
            this.ConnectionId        = clientConnection.ConnectionId();
        }
示例#2
0
        private string LogEntry(QuerySnapshot query)
        {
            string sourceString = query.ClientConnection().asConnectionDetails();
            string queryText    = query.QueryText();

            ISet <string> passwordParams = new HashSet <string>();
            Matcher       matcher        = _passwordPattern.matcher(queryText);

            while (matcher.find())
            {
                string password = matcher.group(1).Trim();
                if (password[0] == '$')
                {
                    passwordParams.Add(password.Substring(1));
                }
                else if (password[0] == '{')
                {
                    passwordParams.Add(password.Substring(1, (password.Length - 1) - 1));
                }
                else
                {
                    queryText = queryText.Replace(password, "******");
                }
            }

            StringBuilder result = new StringBuilder();

            result.Append(TimeUnit.MICROSECONDS.toMillis(query.ElapsedTimeMicros())).Append(" ms: ");
            if (_logDetailedTime)
            {
                QueryLogFormatter.FormatDetailedTime(result, query);
            }
            if (_logAllocatedBytes)
            {
                QueryLogFormatter.FormatAllocatedBytes(result, query);
            }
            if (_logPageDetails)
            {
                QueryLogFormatter.FormatPageDetails(result, query);
            }
            result.Append(sourceString).Append(" - ").Append(queryText);
            if (_logQueryParameters)
            {
                QueryLogFormatter.FormatMapValue(result.Append(" - "), query.QueryParameters(), passwordParams);
            }
            if (_logRuntime)
            {
                result.Append(" - runtime=").Append(query.Runtime());
            }
            QueryLogFormatter.FormatMap(result.Append(" - "), query.TransactionAnnotationData());
            return(result.ToString());
        }
示例#3
0
 public override void EndSuccess(ExecutingQuery query)
 {
     if (_isCollecting)
     {
         QuerySnapshot snapshot = query.Snapshot();
         _queries.produce(new TruncatedQuerySnapshot(snapshot.QueryText(), snapshot.QueryPlanSupplier(), snapshot.QueryParameters(), snapshot.ElapsedTimeMicros(), snapshot.CompilationTimeMicros(), snapshot.StartTimestampMillis(), _maxQueryTextSize));
     }
 }