{"nodes": [{"id": "$graphify-root$_internal_ratelimit_ratelimit_go", "label": "ratelimit.go", "file_type": "code", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L1"}, {"id": "ratelimit_bucket", "label": "bucket", "file_type": "code", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L14"}, {"id": "time", "label": "Time", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/internal/ratelimit/ratelimit.go"}, {"id": "ratelimit_limiter", "label": "Limiter", "file_type": "code", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L24"}, {"id": "mutex", "label": "Mutex", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "$graphify-root$/internal/ratelimit/ratelimit.go"}, {"id": "$graphify-root$_internal_ratelimit_ratelimit_new", "label": "New()", "file_type": "code", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L36"}, {"id": "ratelimit_limiter_allow", "label": ".Allow()", "file_type": "code", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L50"}, {"id": "ratelimit_limiter_cleanuploop", "label": ".cleanupLoop()", "file_type": "code", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L84"}, {"id": "ratelimit_limiter_stop", "label": ".Stop()", "file_type": "code", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L105"}], "edges": [{"source": "$graphify-root$_internal_ratelimit_ratelimit_go", "target": "go_pkg_sync", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L10", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_internal_ratelimit_ratelimit_go", "target": "go_pkg_time", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L11", "weight": 1.0, "context": "import"}, {"source": "$graphify-root$_internal_ratelimit_ratelimit_go", "target": "ratelimit_bucket", "relation": "contains", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L14", "weight": 1.0}, {"source": "ratelimit_bucket", "target": "time", "relation": "references", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L16", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_internal_ratelimit_ratelimit_go", "target": "ratelimit_limiter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L24", "weight": 1.0}, {"source": "ratelimit_limiter", "target": "mutex", "relation": "references", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L26", "weight": 1.0, "context": "field"}, {"source": "ratelimit_limiter", "target": "ratelimit_bucket", "relation": "references", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L27", "weight": 1.0, "context": "field"}, {"source": "$graphify-root$_internal_ratelimit_ratelimit_go", "target": "$graphify-root$_internal_ratelimit_ratelimit_new", "relation": "contains", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_internal_ratelimit_ratelimit_new", "target": "ratelimit_limiter", "relation": "references", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L36", "weight": 1.0, "context": "return_type"}, {"source": "ratelimit_limiter", "target": "ratelimit_limiter_allow", "relation": "method", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L50", "weight": 1.0}, {"source": "ratelimit_limiter", "target": "ratelimit_limiter_cleanuploop", "relation": "method", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L84", "weight": 1.0}, {"source": "ratelimit_limiter", "target": "ratelimit_limiter_stop", "relation": "method", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L105", "weight": 1.0}, {"source": "$graphify-root$_internal_ratelimit_ratelimit_new", "target": "ratelimit_limiter_cleanuploop", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L43", "weight": 1.0}, {"source": "ratelimit_limiter_cleanuploop", "target": "ratelimit_limiter_stop", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L86", "weight": 1.0}], "raw_calls": [{"caller_nid": "$graphify-root$_internal_ratelimit_ratelimit_new", "callee": "float64", "is_member_call": false, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L38"}, {"caller_nid": "ratelimit_limiter_allow", "callee": "Lock", "is_member_call": true, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L55"}, {"caller_nid": "ratelimit_limiter_allow", "callee": "Unlock", "is_member_call": true, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L56"}, {"caller_nid": "ratelimit_limiter_allow", "callee": "Now", "is_member_call": false, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L58"}, {"caller_nid": "ratelimit_limiter_allow", "callee": "Seconds", "is_member_call": true, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L66"}, {"caller_nid": "ratelimit_limiter_allow", "callee": "Sub", "is_member_call": true, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L66"}, {"caller_nid": "ratelimit_limiter_cleanuploop", "callee": "NewTicker", "is_member_call": false, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L85"}, {"caller_nid": "ratelimit_limiter_cleanuploop", "callee": "Lock", "is_member_call": true, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L92"}, {"caller_nid": "ratelimit_limiter_cleanuploop", "callee": "Now", "is_member_call": false, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L93"}, {"caller_nid": "ratelimit_limiter_cleanuploop", "callee": "Sub", "is_member_call": true, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L95"}, {"caller_nid": "ratelimit_limiter_cleanuploop", "callee": "Unlock", "is_member_call": true, "language": "go", "source_file": "internal/ratelimit/ratelimit.go", "source_location": "L99"}]}