Skip to content

Commit c4e5e70

Browse files
authored
Merge pull request #52 from amyjzhu/patch-1
Proofread readme
2 parents 1e5504f + b3bf9c2 commit c4e5e70

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

README.md

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ GoVector is a vector clock logging library written in Go. The [vector
1111
clock algorithm](https://en.wikipedia.org/wiki/Vector_clock) is used
1212
to order events in distributed systems in the absence of a centralized
1313
clock. GoVector implements the vector clock algorithm and provides
14-
feature rich logging, and encoding infrastructure.
14+
feature-rich logging and encoding infrastructure.
1515

1616
Vector clock events
17-
are generated using 3 key functions `PrepareSend`, `UnpackReceive`,
17+
are generated using 3 key functions, `PrepareSend`, `UnpackReceive`,
1818
and `LogLocalEvent`. PrepareSend encodes messages for network
1919
transport, updates GoVectors local time, and logs a sending event.
2020
UpackReceive decodes messages from the network, merges GoVectors local
@@ -26,7 +26,7 @@ This library can be added to a Go project to generate a
2626
timestamped log of events in a concurrent or distributed system.
2727
This library can also be used to generate [TSViz](https://bestchai.bitbucket.io/tsviz/)-compatible
2828
log of events.
29-
GoVector is compatible with Go 1.4+
29+
GoVector is compatible with Go 1.4+.
3030

3131
* govec/ : Contains the Library and all its dependencies
3232
* govec/vclock : Pure vector clock library
@@ -36,20 +36,18 @@ GoVector is compatible with Go 1.4+
3636
### Installation
3737

3838
To install GoVector you must have a correctly configured go development
39-
environment, see [How to write Go
40-
Code](https://golang.org/doc/code.html)
39+
environment. See [How to Write Go
40+
Code](https://golang.org/doc/code.html).
4141

4242
Once you set up your environment, GoVector can be installed with the go
4343
tool command:
4444

4545
> go get -u github.com/DistributedClocks/GoVector
4646
47-
*gofmt* will automatically add imports for GoVector. If you do not
48-
have a working version of *gofmt* GoVector can be imported by adding:
49-
5047
### Usage
5148

52-
The following is a basic example of how this library can be used
49+
The following is a basic example of how this library can be used:
50+
5351
```go
5452
package main
5553

@@ -75,22 +73,22 @@ The following is a basic example of how this library can be used
7573
Logger.LogLocalEvent("Example Complete")
7674
}
7775
```
78-
For complete documentation and small examples see GoVectors [GoDoc](https://godoc.org/github.com/DistributedClocks/GoVector/govec),
76+
For complete documentation with examples see GoVector's [GoDoc](https://godoc.org/github.com/DistributedClocks/GoVector/govec).
7977

80-
### End to End Examples
78+
### End-to-End Examples
8179

82-
* Client-Server GoVector insturmentation [Examples/ClientServer.go](example/ClientServer/ClientServer.go)
80+
* Client-Server GoVector instrumentation [Examples/ClientServer.go](example/ClientServer/ClientServer.go)
8381
* RPC Client-Server program [Examples/RpcClientServer.go](example/RpcClientServer/RpcClientServer.go)
8482

8583
### Motivation
8684

87-
GoVector was initially developed as a pedagogical tool for students attending UBC's computer science course on distributed systems (CPSC 416). Students new to the development of distributed systems can reason about event orderings by visualizing their executions with [ShiViz](http://bestchai.bitbucket.io/shiviz/). Furthermore GoVectors marshaling functionality reduces student effort in writing networking code which is largely boiler plate.
85+
GoVector was initially developed as a pedagogical tool for UBC's computer science course on distributed systems (CPSC 416). Students new to the development of distributed systems can feed generated logs into [ShiViz](http://bestchai.bitbucket.io/shiviz/) to visualize their program executions and reason about event orderings. Furthermore, GoVector's marshaling functionality reduces the effort needed to write networking code that is largely boilerplate.
8886

89-
As a result of student requests GoVector transformed into a general purpose logging tool. Additional features include optimized IO, priority logging, [TSViz](https://bestchai.bitbucket.io/tsviz/) compatibility and RPC instrumentation.
87+
Eventually, as a result of student requests, GoVector has been transformed into a general-purpose logging tool. Additional features include optimized IO, priority logging, [TSViz](https://bestchai.bitbucket.io/tsviz/) compatibility, and RPC instrumentation.
9088

9189
### Dependencies
9290

93-
GoVector has the following dependencies :
91+
GoVector has the following dependencies:
9492

9593
+ [msgpack](https://github.com/vmihailenco/msgpack)
9694
+ [go-colortext](https://github.com/daviddengcn/go-colortext)
@@ -106,7 +104,7 @@ GoVector has the following dependencies :
106104

107105
### Output Example
108106

109-
The source code from the useage example produces the following log into a file named "LogFile.txt" :
107+
The source code from the useage example produces the following log into a file named "LogFile.txt":
110108

111109
MyProcess {"MyProcess":1}
112110
Initialization Complete
@@ -120,11 +118,11 @@ The source code from the useage example produces the following log into a file n
120118

121119

122120

123-
Here is a sample output of the priority logger
121+
Here is a sample output of the priority logger:
124122
![PriorityLoggerOutput.png](.images/PriorityLoggerOutput.png)
125123

126124
Here is an example of ShiViz output generated by an RPC client server
127-
interaction
125+
interaction:
128126
![ShivizExample.png](.images/shiviz_output.png)
129127

130128
<!-- July 2017: Brokers are no longer supported, maybe they will come back.

0 commit comments

Comments
 (0)