Ejemplo n.º 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldContainCompleteProfileFromFromLegacyVersions()
        public virtual void ShouldContainCompleteProfileFromFromLegacyVersions()
        {
            // Given
            using (Transaction tx = Db.beginTx())
            {
                Db.createNode();

                tx.Success();
            }

            foreach (string version in new string[] { "2.3", "3.1", "3.4", "3.5" })
            {
                // When
                Result result = Db.execute(string.Format("PROFILE CYPHER {0} MATCH (n) RETURN n", version));
                result.ResultAsString();
                Org.Neo4j.Graphdb.ExecutionPlanDescription_ProfilerStatistics stats = result.ExecutionPlanDescription.Children[0].ProfilerStatistics;

                // Then
                assertThat("Mismatching db-hits for version " + version, stats.DbHits, equalTo(2L));
                assertThat("Mismatching rows for version " + version, stats.Rows, equalTo(1L));

                //These stats are not available in older versions, but should at least return 0, and >0 for newer
                assertThat("Mismatching page cache hits for version " + version, stats.PageCacheHits, greaterThanOrEqualTo(0L));
                assertThat("Mismatching page cache misses for version " + version, stats.PageCacheMisses, greaterThanOrEqualTo(0L));
                assertThat("Mismatching page cache hit ratio for version " + version, stats.PageCacheHitRatio, greaterThanOrEqualTo(0.0));
            }
        }
Ejemplo n.º 2
0
 public ExecutionPlanDescriptionAnonymousInnerClass(string name, IDictionary <string, object> args, IList <string> identifiers, Org.Neo4j.Graphdb.ExecutionPlanDescription_ProfilerStatistics profile, ExecutionPlanDescription[] children)
 {
     this._name        = name;
     this._args        = args;
     this._identifiers = identifiers;
     this._profile     = profile;
     this._children    = children;
 }
Ejemplo n.º 3
0
 internal TestExecutionPlanDescription(ExecutionPlanConverterTest outerInstance, string name, Org.Neo4j.Graphdb.ExecutionPlanDescription_ProfilerStatistics profilerStatistics, ISet <string> identifiers, IDictionary <string, object> arguments)
 {
     this._outerInstance             = outerInstance;
     this.NameConflict               = name;
     this.ProfilerStatisticsConflict = profilerStatistics;
     this.IdentifiersConflict        = identifiers;
     this.ArgumentsConflict          = arguments;
 }
Ejemplo n.º 4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test @SuppressWarnings("unchecked") public void shouldSerializeProfilingResult() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldSerializeProfilingResult()
        {
            // Given
            string name = "Kalle";

            ExecutionPlanDescription plan      = GetMockDescription(name);
            ExecutionPlanDescription childPlan = GetMockDescription("child");

            when(plan.Children).thenReturn(asList(childPlan));
            when(plan.HasProfilerStatistics()).thenReturn(true);

            Org.Neo4j.Graphdb.ExecutionPlanDescription_ProfilerStatistics stats = mock(typeof(Org.Neo4j.Graphdb.ExecutionPlanDescription_ProfilerStatistics));
            when(stats.DbHits).thenReturn(13L);
            when(stats.Rows).thenReturn(25L);

            when(plan.ProfilerStatistics).thenReturn(stats);

            Result result = mock(typeof(Result));

//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            when(result.HasNext()).thenReturn(false);
            when(result.Columns()).thenReturn(new List <>());
            when(result.ExecutionPlanDescription).thenReturn(plan);

            // When
            IDictionary <string, object> serialized = SerializeToStringThenParseAsToMap(new CypherResultRepresentation(result, false, true));

            // Then
            IDictionary <string, object> serializedPlan = (IDictionary <string, object>)serialized["plan"];

            assertThat(serializedPlan["name"], equalTo(name));
            assertThat(serializedPlan["rows"], @is(25));
            assertThat(serializedPlan["dbHits"], @is(13));

            IList <IDictionary <string, object> > children = (IList <IDictionary <string, object> >)serializedPlan["children"];

            assertThat(children.Count, @is(1));

            IDictionary <string, object> args = (IDictionary <string, object>)serializedPlan["args"];

            assertThat(args["argumentKey"], @is("argumentValue"));
        }
Ejemplo n.º 5
0
        protected internal override void Serialize(MappingSerializer mappingSerializer)
        {
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.graphdb.ExecutionPlanDescription planDescription = getPlan();
            ExecutionPlanDescription planDescription = Plan;

            mappingSerializer.PutString("name", planDescription.Name);
            IDictionary <string, object> arguments          = planDescription.Arguments;
            MappingRepresentation        argsRepresentation = getMapRepresentation(arguments);

            mappingSerializer.PutMapping("args", argsRepresentation);

            if (planDescription.HasProfilerStatistics())
            {
                Org.Neo4j.Graphdb.ExecutionPlanDescription_ProfilerStatistics stats = planDescription.ProfilerStatistics;
                mappingSerializer.PutNumber("rows", stats.Rows);
                mappingSerializer.PutNumber("dbHits", stats.DbHits);
            }

            mappingSerializer.PutList("children", new ListRepresentation("children", new IterableWrapperAnonymousInnerClass(this, planDescription.Children)));
        }
Ejemplo n.º 6
0
        public static MapValue Convert(ExecutionPlanDescription plan)
        {
            bool            hasProfilerStatistics = plan.HasProfilerStatistics();
            int             size = hasProfilerStatistics ? 9 : 4;
            MapValueBuilder @out = new MapValueBuilder(size);

            @out.Add("operatorType", stringValue(plan.Name));
            @out.Add("args", ValueUtils.asMapValue(plan.Arguments));
            @out.Add("identifiers", ValueUtils.asListValue(plan.Identifiers));
            @out.Add("children", Children(plan));
            if (hasProfilerStatistics)
            {
                Org.Neo4j.Graphdb.ExecutionPlanDescription_ProfilerStatistics profile = plan.ProfilerStatistics;
                @out.Add("dbHits", longValue(profile.DbHits));
                @out.Add("pageCacheHits", longValue(profile.PageCacheHits));
                @out.Add("pageCacheMisses", longValue(profile.PageCacheMisses));
                @out.Add("pageCacheHitRatio", doubleValue(profile.PageCacheHitRatio));
                @out.Add("rows", longValue(profile.Rows));
            }
            return(@out.Build());
        }
Ejemplo n.º 7
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are ignored unless the option to convert to C# 7.2 'in' parameters is selected:
//ORIGINAL LINE: private static org.neo4j.graphdb.ExecutionPlanDescription plan(final String name, final java.util.Map<String,Object> args, final java.util.List<String> identifiers, final org.neo4j.graphdb.ExecutionPlanDescription_ProfilerStatistics profile, final org.neo4j.graphdb.ExecutionPlanDescription... children)
        private static ExecutionPlanDescription Plan(string name, IDictionary <string, object> args, IList <string> identifiers, Org.Neo4j.Graphdb.ExecutionPlanDescription_ProfilerStatistics profile, params ExecutionPlanDescription[] children)
        {
            return(new ExecutionPlanDescriptionAnonymousInnerClass(name, args, identifiers, profile, children));
        }