# README
Service Weaver 
Service Weaver is a programming framework for writing, deploying, and managing distributed applications. You can run, test, and debug a Service Weaver application locally on your machine, and then deploy it to the cloud with a single command.
$ go run . # Run locally.
$ weaver gke deploy weaver.toml # Run in the cloud.
Visit https://serviceweaver.dev to learn more about Service Weaver.
Installation and Getting Started
Visit https://serviceweaver.dev/docs.html for installation instructions and information on getting started.
Contributing
Please read our contribution guide for details on how to contribute.
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
Package metadata provides support for the propagation of metadata information from a component method caller to the callee.
Package metrics provides an API for counters, gauges, and histograms.
Package runtime contains code suitable for deployer implementers but not Service Weaver application developers.
Package sim implements deterministic simulation.
Package weavertest provides a way to test Service Weaver components.
No description provided by the author
# Functions
InstrumentHandler instruments the provided HTTP handler to collect sampled traces and metrics of HTTP request executions.
InstrumentHandlerFunc is identical to [InstrumentHandler] but takes a function instead of an http.Handler.
Run runs app as a Service Weaver application.
# Constants
HealthzURL is the URL path on which Service Weaver performs health checks.
# Variables
HealthzHandler is a health-check handler that returns an OK status for all incoming HTTP requests.
RemoteCallError indicates that a remote component method call failed to execute properly.
# Structs
AutoMarshal is a type that can be embedded within a struct to indicate that "weaver generate" should generate serialization methods for the struct.
Implements[T] is a type that is be embedded inside a component implementation struct to indicate that the struct implements a component of type T.
Listener is a network listener that can be placed as a field inside a component implementation struct.
Ref[T] is a field that can be placed inside a component implementation struct.
WeaverInfo holds runtime information about a deployed application.
WithConfig[T] is a type that can be embedded inside a component implementation.
WithRouter[T] is a type that can be embedded inside a component implementation struct to indicate that calls to a method M on the component must be routed according to the the value returned by T.M().
# Interfaces
InstanceOf[T] is the interface implemented by a struct that embeds weaver.Implements[T].
Main is the interface implemented by an application's main component.
No description provided by the author
PointerToMain is a type constraint that asserts *T is an instance of Main (i.e.
RoutedBy[T] is the interface implemented by a struct that embeds weaver.RoutedBy[T].
Unrouted is the interface implemented by instances that don't embed weaver.WithRouter[T].